System, method and article of manufacturing for authorizing the use of electronic content utilizing a laser-centric medium and a network server

ABSTRACT

A system, method, and article of manufacture is provided for tracking the distribution of content electronically. First, an electronic storage medium tracking identifier is incorporated onto an electronic storage medium and stored on a database. Next, a package tracking identifier is situated onto a package in which the electronic storage medium is stored. The electronic storage medium is then tracked while being shipped between various entities using the tracking identifier on the package. Further, the electronic storage medium may be identified using the tracking identifier on the electronic storage medium in order to afford authorized use of the information contained on the electronic storage medium.

FIELD OF THE INVENTION

The present invention relates to a distribution and tracking system thatutilizes a set of bits on an electronic medium to track and control useof content electronically utilizing a network server.

BACKGROUND OF THE INVENTION

The now familiar compact disk preserves information as a series ofmicroscopic pits and smooth areas, oriented in concentric circular orhelical tracks, on the otherwise smooth, planar surface of an annulardisk. Recorded information is read from a compact disk by directing afocused laser beam along the recorded tracks, and detecting variationsin the intensity of the laser beam as it encounters the microscopic pitsand smooth areas on the disk. The coherence and relatively shortwavelength of laser radiation enables large volumes of information to bewritten onto very small spaces of a recording medium.

Compact disks were first introduced in the music recording industry in1982, and now account for 43% of all recorded music sales. In the UnitedStates alone, over three hundred million compact disks are soldannually, with a retail value of over three billion dollars, accordingto the Recording Industry Association of America. The recording industryhas for the last ten years packaged the five inch in diameterprerecorded compact disks in six inch by twelve inch cardboard boxesknown in the industry as “long boxes.” The long box is easily propped upin display bins alongside traditional vinyl LPs in music store displaybins. More importantly, however, the bulk of the long box makes itdifficult for a shoplifter to hide a prerecorded compact disk under acoat or in a purse and walk out of a music store without paying. Whilethe long box packaging technique for prerecorded compact disks has beensomewhat effective as an anti-theft device, the excess packaging itcreates accounts for as much as twenty five million pounds of packagingwaste annually.

The Recording Industry Association of America accordingly announced in1991 its intention to abandon the long box. In February of 1992, theAssociation announced that, beginning in April 1993, all prerecordedcompact disks would be marketed in five inch by five and one half inchpackages.

When Compact Discs (CD)s or Digital Video or Versatile Disks (DVD)s aremanufactured, they are frequently transported and stored on spindles.This is at least in part due to the fragile nature of the storagemedium. Since each disk has a center hole, is relatively thin and isrelatively light, storage of multiple discs on a spindle is convenient.Spindles, as used in the manufacture of disks, typically have a centralpost about two feet long and weighted base about two inches thick.Depending upon the level of automation of the disk manufacturingprocess, disks may be stored or carried on spindles several times beforeprinting or packaging. In the most fully automated processes, disks areonly kept on spindles between the inspection and printing steps and justprior to final packaging. In more manual systems, disks may be placed onspindles between every manufacturing step including between molding andmetalizing, between metalizing and spin coating, between spin coatingand inspection, between inspection and printing, and between printingand final packaging. However, regardless of the number of times thedisks are maintained on spindles, each such time the disk is removed forprocessing, a possibility of theft and confusion as to title exists. Inother words, whenever a disk is on a spindle, particularly without anyidentifying printing, the identification of the title on that spindlemay easily be called into question or be confused. It is essential thata capability be built into a disk to track the disk and providedistribution management, quality control and customer accessinformation.

Similarly, whenever disks are maintained on a spindle for any length oftime, theft can occur. Without any means of preventing unauthorizedremoval of disks from the spindle or tracking exactly how many diskswere on the spindle, thefts regularly happen.

The merchandising of compact disc (hereinafter “CD”) multimedia is agrowing industry. CD multimedia are used in audio, video, audio-video,and computer based applications. Since many similar looking duplicaterecordings for a particular CD program are often available from manydifferent sources, it is difficult for merchants to track, identify, anddistinguish their inventory from the inventory of others.

Security is an important concern associated with the rental, loan, orsale of such merchandise. Items such as commercially prerecorded compactdisc programs are available from rental shops, stores, and libraries. Itis important for a merchant to have a simple means to secure andidentify its merchandise. For example, a merchant needs to determinewhether merchandise which was rented from it is the same merchandisethat is being returned to it to deter customers from attempting toswitch good rented merchandise with bad return merchandise (such as acustomer's scratched disc).

The switching of CDs in good condition with defective CDs obtained fromother sources is a difficult problem that merchants face. Merchandiseswitching is a significant problem given the high volume of businessinvolved in the compact disc industry and the difficulty of detectingsuch illegal switching. An easy and reliable way for a merchant todetermine whether the digital data contained on a CD is damaged ordefective is required. Although obvious imperfections such as scratchesor cracks may be detected by a simple visual inspection, such inspectioncannot detect defects in the digital data. Even though defects may bediscovered during regular speed playback of an entire CD, such means iscommercially impractical since it requires too much time for merchantsdealing in high volume to check every CD returned to them. Althoughhigh-speed electronic scanning devices for checking digital recordingscurrently exist, such devices are effectively unavailable to theindividual merchant due to cost prohibitions and the limitedavailability of such technology.

Electronic article surveillance systems for monitoring the egress ofsensitive objects from controlled spaces are well known, and have beenused alone and along with the long box packaging technique forcontrolling the unauthorized taking of compact disks. Markers formedfrom a piece of high permeability magnetic material can be placed on thepackaging for the disk. Spaced apart detection panels are then placedacross the access points to the store, library or other repository forthe monitored compact disks. The panels include field coils and detectorcoils for producing a magnetic field across the access point that candetect the passage of a marker between the panels. If a person attemptsto carry a compact disk through the magnetic field presented by thepanels without first deactivating the marker on the disk packaging, thepresence of the marker will be detected and an alarm initiated.

U.S. Pat. No. 4,710,754 discloses a multi-directional EAS markerespecially designed for its compact dimensions. The marker disclosed inthe '754 patent is comprised of a high permeability, low coercive force,generally planar magnetic responder material that includes at least twonarrow regions defining switching sections, and adjacent, wider, fluxcollector sections. The juxtaposition of the narrow switching sectionswith the flux collector sections causes the flux to be highlyconcentrated in the switching sections. The high concentration of fluxlines in the switching sections produces high frequency harmonics whenpassed through an alternating magnetic field, allowing the presence ofthe marker in the field to be detected. The marker is conveniently madedual status, i.e., reversibly deactivatable and reactivatable, byincluding a piece of magnetizable material adjacent each of theswitching sections. The magnetizable material, when magnetized, biasesthe adjacent switching section to either keep the magnetization thereinfrom reversing when in an alternating interrogation field, or at leastaltering the response of the marker in the field. In either case,readily distinguishably different signals are produced by the marker inan interrogation field depending on whether the magnetizable material ismagnetized or demagnetized.

U.S. Pat. No. 4,967,185 discloses a multi-directional, dual-status EASmarker also designed for its compact dimensions. The marker disclosed inthe '185 patent discloses a marker that includes a continuousuninterrupted sheet of remanently magnetizable material overlying asheet of responder material similar to that disclosed in the '754patent. The response of the marker within an alternating magnetic fieldcan be discernably altered by selectively magnetizing and demagnetizingthe continuous sheet of remanently magnetizable material prior tointroducing the marker into the field. The markers disclosed in theabove noted prior art can be attached to the packaging for a compactdisk. Problems arise, however, when attempting to attach prior artmarkers directly to the surface of a compact disk. Rotation of thecompact disk is required to read information from the disk, and the diskmust accordingly be inherently balanced. An EAS marker, applied directlyto a compact disk, therefor, would preferably be somehow concentricallymounted on the disk without imbalancing the disk. Prior art EAS markers,however, are not inherently balanced. Moreover, conventional compactdisks include a centered aperture that must be maintained clear ofobstructions, and the preferred prior art dual status EAS markersinclude a continuous sheet of magnetic material, such that the markercannot be concentrically mounted to the surface of a compact diskwithout obstructing the disk aperture.

U.S. Pat. No. 4,709,813 proposed an anti-theft device for compact disksthat overcame the inability to directly apply an EAS marker to thesurface of a compact disk. The '813 patent discloses a detachablelocking plate with an EAS marker carried on the internal face of theplate that can be selectively locked to the “jewelry box” for a compactdisk. The compact disk is physically locked in the box leg by the plate.A clerk or other authorized person can remove the plate with the use ofa keyed release tool at the time of payment. It will be appreciated thatthe use of a locking plate requires preparation time to attach a plateto each compact disk cartridge, adds an additional step in the check-outprocess, and leaves the compact disk without EAS protection once the EASmarker carrying plate is removed from the compact disk. The lack of EASprotection once the plate is removed makes it especially risky for aretailer to permit the trial playing of a compact disk by a customer inthe store before the compact disk is purchased. The new packagingstandard for prerecorded compact disks, while environmentally sound,will exacerbate the problem of compact disk shop lifting, since thesmaller packages will be easier to hide and transport out of a store.

While the use of electronic article surveillance systems could partiallycompensate for the increased shoplifting threat, it will be appreciatedthat the unauthorized removal of the magnetic markers from a packagewill defeat the detection capability of the surveillance system, andknown EAS markers cannot be directly mounted on a compact disk withoutaffecting the operability of the disk. The use of an EAS marker inconjunction with a locking plate presents handling problems and does notsolve the problem of physical security of compact disks at stores wherethe customer is allowed to listen to the compact disk prior to purchase.A new, compact optical information disk especially designed fortamper-proof use with an electronic article surveillance system throughthe use of an EAS marker that could be applied directly to the surfaceof the compact disk would accordingly provide decided advantages. Thus,there is a need for merchants to conveniently and inexpensively maintainthe security of their electronic content medium.

SUMMARY OF THE INVENTION

A system, method, and article of manufacture is provided for trackingthe distribution of content electronically. First, an electronic storagemedium tracking identifier is incorporated onto an electronic storagemedium and stored on a database. Next, a package tracking identifier issituated onto a package in which the electronic storage medium isstored. The electronic storage medium is then tracked while beingshipped between various entities using the tracking identifier on thepackage. Further, the electronic storage medium may be identified usingthe tracking identifier on the electronic storage medium in order toafford authorized use of the information contained on the electronicstorage medium.

DESCRIPTION OF THE DRAWINGS

The foregoing and other objects, aspects and advantages are betterunderstood from the following detailed description of a preferredembodiment of the invention with reference to the drawings, in which:

FIG. 1 is a general block diagram of the method of tracking anelectronic medium in accordance with the present invention;

FIG. 2 is a detailed block diagram of the method of tracking theelectronic medium in accordance with a preferred embodiment;

FIG. 3 is a block diagram of an embodiment of the hardware involved withone embodiment of the present invention;

FIG. 4 is a pictorial representation of a comparison of the priorlifecycle of electronic storage medium and the electronic storage mediumof the present invention;

FIG. 5 is a block diagram of a user experience in accordance with apreferred embodiment;

FIG. 6 is a flowchart of a redirect operation for an electronic commercetransaction in accordance with a preferred embodiment;

FIGS. 7A and 7B are flowcharts setting forth the detailed logicassociated with user connection and update for DVD processing inaccordance with a preferred embodiment;

FIG. 8 presents logic demonstrating the display of specific advertisinginformation based on a retailer/distributor utilizing BCA informationfor intelligent processing in accordance with a preferred embodiment;

FIG. 9 is a flowchart demonstrating the display of specific advertisinginformation based on genre/type of DVD utilizing BCA information forintelligent processing in accordance with a preferred embodiment;

FIG. 10 is a flowchart of a download operation for downloading andupdating retailer-specific information of the DVD utilizing BCAinformation for intelligent processing in accordance with a preferredembodiment;

FIG. 11 is a flowchart of a download operation for downloading andupdating DVD title-specific information utilizing BCA information forintelligent processing in accordance with a preferred embodiment;

FIG. 12 is a flowchart of a tailored video viewing operation utilizingBCA information for intelligent processing in accordance with apreferred embodiment;

FIG. 13 is a flowchart of a tailored video viewing operation utilizingBCA information for intelligent processing in accordance with apreferred embodiment;

FIG. 14 is a flowchart of the logic associated with a tailoredmultimedia viewing operation utilizing BCA information for intelligentprocessing in accordance with a preferred embodiment;

FIG. 15 is a flowchart of a security operation for restricting access tospecific web sites utilizing BCA information for intelligent processingin accordance with a preferred embodiment;

FIG. 16 is a flowchart of a unlock operation for an electronic commercetransaction utilizing BCA information for intelligent processing inaccordance with a preferred embodiment;

FIG. 17 is a flowchart of an unlocking operation for an electroniccommerce transaction utilizing BCA information for intelligentprocessing in accordance with a preferred embodiment;

FIG. 18 is a flowchart of a logging operation for tracking piracy andmisuse of a DVD utilizingBCA information for intelligent processing inaccordance with a preferred embodiment;

FIG. 19 is a flowchart of a redirect operation for a support transactionfor intelligent processing in accordance with a preferred embodiment;

FIG. 20 is a flowchart of a display operation for a support transactionfor intelligent processing in accordance with a preferred embodiment;

FIG. 21 is a flowchart of support tracking utilizing BCA for intelligentprocessing in accordance with a preferred embodiment;

FIG. 22 is a flowchart of a redirect operation for a support transactionfor intelligent processing in accordance with a preferred embodiment;and

FIG. 23 is a flowchart of a broadcast operation for downloading update,support and application information utilizing BCA information forintelligent processing in accordance with a preferred embodiment.

DETAILED DESCRIPTION

The present invention includes a system, method and article ofmanufacture for tracking the distribution of content electronically andproviding intelligent services based on this information. FIG. 1 is ageneral block diagram of the method of tracking an electronic medium inaccordance with the present invention. Initially, content in the form ofmusic, video, data, or any other type of visual or audible entertainmentor information is generated in operations 10 and 12. Thereafter, anelectronic storage medium tracking identifier, such as the Burst CutArea (BCA) is incorporated onto an electronic storage medium 22 at thetime of manufacture. It should be noted that the electronic storagemedium 22 may take the form of any electronic/optic storage mediumcapable of storing content. In the present description, however, focuswill remain on one embodiment of electronic storage medium, a DVD.

As shown in FIG. 1, after the generation of the content, the electronicstorage medium may be replicated by a replicator in operation 14.Further, a package tracking identifier is incorporated onto a package inwhich the electronic storage medium is stored. Such tracking identifiersare then stored in a database.

In use, the electronic storage medium may be tracked from a distributorto a retailer and the consumer in steps 16, 18, and 20. This tracking isenabled by using the tracking identifier on the package 22 while theelectronic storage medium is shipped between various entities such asthe replicator, distributor, retailer, and consumer. Furthermore, when afinal user obtains the electronic storage medium, the electronic storagemedium may be identified using the tracking identifier on the electronicstorage medium 22. As will become apparent hereinafter, various featuresmay be afforded by identifying the electronic storage medium.

As mentioned earlier, the electronic storage medium may be tracked byusing the tracking identifier on the package while the electronicstorage medium is shipped between various entities such as a replicator,distributor, retailer, and consumer. Specifically, the replicator is thecompany that manufactures, or “presses”, the DVD. The replicatorreceives a DLT (digital linear tape) from the content developer (studiosuch as New Line) and then creates a “glass master” of the DVD based onthe data on the DLT. The glass master then becomes the master DVD fromwhich all replicated DVDs are made. The replicator adds the BCA numberto each DVD as part of the replication process and then “packages/boxes”the DVDs for distribution to a distributor or retailer.

The distributor, on the other hand, is the company that packagestogether multiple titles together for distribution to a retailer. Thevalue of a distributor is that they maintain direct relationships andchannels with the retailers, can maintain larger inventories ofproducts—leveraging economies of scale not possible by smallerretailers. A retailer requests multiple products from the distributor(for example 20 copies of Lost in Space, 50 copies of Ronin, and 100copies of You've Got Mail—all of which come from different studios),then the distributor can “package” the variety of products together fordistribution to the retailer.

Finally, the retailer is the company that sells product directly toconsumer. Examples include “brick-and-mortar” stores such as BlockbusterVideo, Hollywood Video, Best Buy, Good Guys, etc. Retailers also includeonline retailers such as DVDExpress, Amazon.com, and othere-commerce-oriented companies. Other groups are also joining theretailing opportunity, such as Nimbus who already offers bothreplication and distribution. It is the next logical step to offerdirect-to-consumer online sales of product. It should be noted that theaforementioned replicator may also be the distributor(Nimbus/Technicolor, WAMO/Deluxe). Also, replicators may ship directlyto retailers, especially in the case of large accounts like Blockbuster.

Example in Accordance With a Preferred Embodiment

An example setting forth details relating to the tracking of DVDs willnow be set forth. First, a content owner (such as studio) requests useof the BCA on their DVDs. Based on request, the replicator (examplesinclude WAMO, Panasonic, Nimbus, Technicolor, Pioneer, Crest) addsunique BCA number to every DVD. Adding BCA number to each DVD requires aspecial (YAG) laser. This may be the very last step in the manufacturingprocess. The BCA numbers for a specific DVD must then be entered intoInterActual's BCA database. Information to track includes: DVD title,i.e. “Lost in Space”; BCA #/range, i.e. 12345687890; and ShippingPackaging/Tracking Container, i.e. Box 52221 to Hollywood Video.

After the BCA number is added to the DVDs, the DVDs are packaging/boxedfor distribution to either the Distributor or the Retailer. It should benoted that many companies take multiple forms, so the replicator anddistributor may be one in the same. Also, some retailers arelarge/important enough to get shipments directly from replicator. Theway in which the DVDs are packaging/shipped is very important becauseone must track the BCA numbers to actual shipping containers (box,etc.). Therefore tracking information must also be added to the BCAdatabase.

If packaged DVDs are then sent to distributor, the distributor also hasmechanisms, i.e. scanners, input device, and monitoring devices, inplace for tracking based on their distribution. For example, Deluxe mayreceive a “package” of 100,000 copies of “Lost in Space”. However, thedistributor ships 10,000 to Retailer A and 5,000 to Retailer B. Thedistributor should be able to “input” retailer A and B's distributioninformation into the system. Ideally, this becomes a seamless/automatedprocess.

Once the DVDs reach the retailer (either from the replicator ordistributor), then DVDs may be further divided and distributed to localstores/outlets. In such a situation, the retailer should be able toautomatically “track” distribution of these DVDs through to theirstores. Over time, all three entitities (replicator, distributor, andretailer) are able to add tracking information to BCA database. Due tocomplexity and dependencies on existing business systems, the retailtracking concept will be rolled out in phases: replicator first mostlikely with key retail accounts. The distributors will be brought in.Retailers will then begin to embrace the ability to track based on localoutlet/store.

Utilization of BCA Identification at the End Consumer

As mentioned earlier, when a final user obtains the electronic storagemedium, the electronic storage medium may be identified using thetracking identifier on the electronic storage medium. By thisidentification, various features may be executed upon identification ofthe electronic storage medium. It should be noted that, in oneembodiment, identification is carried out by a computer and softwaregoverns the features that are executed after identification of theelectronic storage medium.

For example, the present invention may be practiced in the context of apersonal computer such as an IBM compatible personal computer, AppleMacintosh computer or UNIX based workstation. A representative hardwareenvironment is depicted in FIG. 3, which illustrates a typical hardwareconfiguration of a workstation in accordance with a preferred embodimenthaving a central processing unit 110, such as a microprocessor, and anumber of other units interconnected via a system bus 112. Theworkstation shown in FIG. 3 includes a Random Access Memory (RAM) 114,Read Only Memory (ROM) 116, an I/O adapter 118 for connecting peripheraldevices such as disk storage units 120 to the bus 112, a user interfaceadapter 122 for connecting a keyboard 124, a mouse 126, a speaker 128, amicrophone 132, and/or other user interface devices such as a touchscreen (not shown) to the bus 112, communication adapter 134 forconnecting the workstation to a communication network (e.g., a dataprocessing network) and a display adapter 136 for connecting the bus 112to a display device 138. The workstation typically has resident thereonan operating system such as the Microsoft Windows NT or Windows/95Operating System (OS), the IBM OS/2 operating system, the MAC OS, orUNIX operating system. Those skilled in the art will appreciate that thepresent invention may also be implemented on platforms and operatingsystems other than those mentioned.

A preferred embodiment is written using JAVA, C, and the C++ languageand utilizes object oriented programming methodology. Object orientedprogramming (OOP) has become increasingly used to develop complexapplications. As OOP moves toward the mainstream of software design anddevelopment, various software solutions require adaptation to make useof the benefits of OOP. A need exists for these principles of OOP to beapplied to a messaging interface of an electronic messaging system suchthat a set of OOP classes and objects for the messaging interface can beprovided.

OOP is a process of developing computer software using objects,including the steps of analyzing the problem, designing the system, andconstructing the program. An object is a software package that containsboth data and a collection of related structures and procedures. Sinceit contains both data and a collection of structures and procedures, itcan be visualized as a self-sufficient component that does not requireother additional structures, procedures or data to perform its specifictask. OOP, therefore, views a computer program as a collection oflargely autonomous components, called objects, each of which isresponsible for a specific task. This concept of packaging data,structures, and procedures together in one component or module is calledencapsulation.

In general, OOP components are reusable software modules which presentan interface that conforms to an object model and which are accessed atrun-time through a component integration architecture. A componentintegration architecture is a set of architecture mechanisms which allowsoftware modules in different process spaces to utilize each otherscapabilities or functions. This is generally done by assuming a commoncomponent object model on which to build the architecture. It isworthwhile to differentiate between an object and a class of objects atthis point. An object is a single instance of the class of objects,which is often just called a class. A class of objects can be viewed asa blueprint, from which many objects can be formed.

OOP allows the programmer to create an object that is a part of anotherobject. For example, the object representing a piston engine is said tohave a composition-relationship with the object representing a piston.In reality, a piston engine comprises a piston, valves and many othercomponents; the fact that a piston is an element of a piston engine canbe logically and semantically represented in OOP by two objects.

OOP also allows creation of an object that “depends from” anotherobject. If there are two objects, one representing a piston engine andthe other representing a piston engine wherein the piston is made ofceramic, then the relationship between the two objects is not that ofcomposition. A ceramic piston engine does not make up a piston engine.Rather it is merely one kind of piston engine that has one morelimitation than the piston engine; its piston is made of ceramic. Inthis case, the object representing the ceramic piston engine is called aderived object, and it inherits all of the aspects of the objectrepresenting the piston engine and adds further limitation or detail toit. The object representing the ceramic piston engine “depends from” theobject representing the piston engine. The relationship between theseobjects is called inheritance.

When the object or class representing the ceramic piston engine inheritsall of the aspects of the objects representing the piston engine, itinherits the thermal characteristics of a standard piston defined in thepiston engine class. However, the ceramic piston engine object overridesthese ceramic specific thermal characteristics, which are typicallydifferent from those associated with a metal piston. It skips over theoriginal and uses new functions related to ceramic pistons. Differentkinds of piston engines have different characteristics, but may have thesame underlying functions associated with it (e.g., how many pistons inthe engine, ignition sequences, lubrication, etc.). To access each ofthese functions in any piston engine object, a programmer would call thesame functions with the same names, but each type of piston engine mayhave different/overriding implementations of functions behind the samename. This ability to hide different implementations of a functionbehind the same name is called polymorphism and it greatly simplifiescommunication among objects.

With the concepts of composition-relationship, encapsulation,inheritance and polymorphism, an object can represent just aboutanything in the real world. In fact, our logical perception of thereality is the only limit on determining the kinds of things that canbecome objects in object-oriented software. Some typical categories areas follows:

Objects can represent physical objects, such as automobiles in atraffic-flow simulation, electrical components in a circuit-designprogram, countries in an economics model, or aircraft in anair-traffic-control system.

Objects can represent elements of the computer-user environment such aswindows, menus or graphics objects.

An object can represent an inventory, such as a personnel file or atable of the latitudes and longitudes of cities.

An object can represent user-defined data types such as time, angles,and complex numbers, or points on the plane.

With this enormous capability of an object to represent just about anylogically separable matters, OOP allows the software developer to designand implement a computer program that is a model of some aspects ofreality, whether that reality is a physical entity, a process, a system,or a composition of matter. Since the object can represent anything, thesoftware developer can create an object which can be used as a componentin a larger software project in the future.

If 90% of a new OOP software program consists of proven, existingcomponents made from preexisting reusable objects, then only theremaining 10% of the new software project has to be written and testedfrom scratch. Since 90% already came from an inventory of extensivelytested reusable objects, the potential domain from which an error couldoriginate is 10% of the program. As a result, OOP enables softwaredevelopers to build objects out of other, previously built objects.

This process closely resembles complex machinery being built out ofassemblies and sub-assemblies. OOP technology, therefore, makes softwareengineering more like hardware engineering in that software is builtfrom existing components, which are available to the developer asobjects. All this adds up to an improved quality of the software as wellas an increased speed of its development.

Programming languages are beginning to fully support the OOP principles,such as encapsulation, inheritance, polymorphism, andcomposition-relationship. With the advent of the C++ language, manycommercial software developers have embraced OOP. C++ is an OOP languagethat offers a fast, machine-executable code. Furthermore, C++ issuitable for both commercial-application and systems-programmingprojects. For now, C++ appears to be the most popular choice among manyOOP programmers, but there is a host of other OOP languages, such asSmalltalk, Common Lisp Object System (CLOS), and Eiffel. Additionally,OOP capabilities are being added to more traditional popular computerprogramming languages such as Pascal.

The benefits of object classes can be summarized, as follows:

Objects and their corresponding classes break down complex programmingproblems into many smaller, simpler problems.

Encapsulation enforces data abstraction through the organization of datainto small, independent objects that can communicate with each other.Encapsulation protects the data in an object from accidental damage, butallows other objects to interact with that data by calling the object'smember functions and structures.

Subclassing and inheritance make it possible to extend and modifyobjects through deriving new kinds of objects from the standard classesavailable in the system. Thus, new capabilities are created withouthaving to start from scratch.

Polymorphism and multiple inheritance make it possible for differentprogrammers to mix and match characteristics of many different classesand create specialized objects that can still work with related objectsin predictable ways.

Class hierarchies and containment hierarchies provide a flexiblemechanism for modeling real-world objects and the relationships amongthem.

Libraries of reusable classes are useful in many situations, but theyalso have some limitations. For example:

Complexity. In a complex system, the class hierarchies for relatedclasses can become extremely confusing, with many dozens or evenhundreds of classes.

Flow of control. A program written with the aid of class libraries isstill responsible for the flow of control (i.e., it must control theinteractions among all the objects created from a particular library).The programmer has to decide which functions to call at what times forwhich kinds of objects.

Duplication of effort. Although class libraries allow programmers to useand reuse many small pieces of code, each programmer puts those piecestogether in a different way. Two different programmers can use the sameset of class libraries to write two programs that do exactly the samething but whose internal structure (i.e., design) may be quitedifferent, depending on hundreds of small decisions each programmermakes along the way. Inevitably, similar pieces of code end up doingsimilar things in slightly different ways and do not work as welltogether as they should.

Class libraries are very flexible. As programs grow more complex, moreprogrammers are forced to reinvent basic solutions to basic problemsover and over again. A relatively new extension of the class libraryconcept is to have a framework of class libraries. This framework ismore complex and consists of significant collections of collaboratingclasses that capture both the small scale patterns and major mechanismsthat implement the common requirements and design in a specificapplication domain. They were first developed to free applicationprogrammers from the chores involved in displaying menus, windows,dialog boxes, and other standard user interface elements for personalcomputers.

Frameworks also represent a change in the way programmers think aboutthe interaction between the code they write and code written by others.In the early days of procedural programming, the programmer calledlibraries provided by the operating system to perform certain tasks, butbasically the program executed down the page from start to finish, andthe programmer was solely responsible for the flow of control. This wasappropriate for printing out paychecks, calculating a mathematicaltable, or solving other problems with a program that executed in justone way.

The development of graphical user interfaces began to turn thisprocedural programming arrangement inside out. These interfaces allowthe user, rather than program logic, to drive the program and decidewhen certain actions should be performed. Today, most personal computersoftware accomplishes this by means of an event loop which monitors themouse, keyboard, and other sources of external events and calls theappropriate parts of the programmer's code according to actions that theuser performs. The programmer no longer determines the order in whichevents occur. Instead, a program is divided into separate pieces thatare called at unpredictable times and in an unpredictable order. Byrelinquishing control in this way to users, the developer creates aprogram that is much easier to use. Nevertheless, individual pieces ofthe program written by the developer still call libraries provided bythe operating system to accomplish certain tasks, and the programmermust still determine the flow of control within each piece after it'scalled by the event loop. Application code still “sits on top of” thesystem.

Even event loop programs require programmers to write a lot of code thatshould not need to be written separately for every application. Theconcept of an application framework carries the event loop conceptfurther. Instead of dealing with all the nuts and bolts of constructingbasic menus, windows, and dialog boxes and then making these things allwork together, programmers using application frameworks start withworking application code and basic user interface elements in place.Subsequently, they build from there by replacing some of the genericcapabilities of the framework with the specific capabilities of theintended application.

Application frameworks reduce the total amount of code that a programmerhas to write from scratch. However, because the framework is really ageneric application that displays windows, supports copy and paste, andso on, the programmer can also relinquish control to a greater degreethan event loop programs permit. The framework code takes care of almostall event handling and flow of control, and the programmer's code iscalled only when the framework needs it (e.g., to create or manipulate aproprietary data structure).

A programmer writing a framework program not only relinquishes controlto the user (as is also true for event loop programs), but alsorelinquishes the detailed flow of control within the program to theframework. This approach allows the creation of more complex systemsthat work together in interesting ways, as opposed to isolated programs,having custom code, being created over and over again for similarproblems.

Thus, as is explained above, a framework basically is a collection ofcooperating classes that make up a reusable design solution for a givenproblem domain. It typically includes objects that provide defaultbehavior (e.g., for menus and windows), and programmers use it byinheriting some of that default behavior and overriding other behaviorso that the framework calls application code at the appropriate times.

There are three main differences between frameworks and class libraries:

Behavior versus protocol. Class libraries are essentially collections ofbehaviors that you can call when you want those individual behaviors inyour program. A framework, on the other hand, provides not only behaviorbut also the protocol or set of rules that govern the ways in whichbehaviors can be combined, including rules for what a programmer issupposed to provide versus what the framework provides.

Call versus override. With a class library, the code the programmerinstantiates objects and calls their member functions. It's possible toinstantiate and call objects in the same way with a framework (i.e., totreat the framework as a class library), but to take full advantage of aframework's reusable design, a programmer typically writes code thatoverrides and is called by the framework. The framework manages the flowof control among its objects. Writing a program involves dividingresponsibilities among the various pieces of software that are called bythe framework rather than specifying how the different pieces shouldwork together.

Implementation versus design. With class libraries, programmers reuseonly implementations, whereas with frameworks, they reuse design. Aframework embodies the way a family of related programs or pieces ofsoftware work. It represents a generic design solution that can beadapted to a variety of specific problems in a given domain. Forexample, a single framework can embody the way a user interface works,even though two different user interfaces created with the sameframework might solve quite different interface problems.

Thus, through the development of frameworks for solutions to variousproblems and programming tasks, significant reductions in the design anddevelopment effort for software can be achieved. A preferred embodimentof the invention utilizes HyperText Markup Language (HTML) to implementdocuments on the Internet together with a general-purpose securecommunication protocol for a transport medium between the client and theNewco. HTTP or other protocols could be readily substituted for HTMLwithout undue experimentation. Information on these products isavailable in T. Berners-Lee, D. Connoly, “RFC 1866: Hypertext MarkupLanguage—2.0” (November 1995); and R. Fielding, H, Frystyk, T.Berners-Lee, J. Gettys and J. C. Mogul, “Hypertext TransferProtocol—HTTP/1.1: HTTP Working Group Internet Draft” (May 2, 1996).HTML is a simple data format used to create hypertext documents that areportable from one platform to another. HTML documents are SGML documentswith generic semantics that are appropriate for representing informationfrom a wide range of domains. HTML has been in use by the WorldWide Webglobal information initiative since 1990. HTML is an application of ISOStandard 8879; 1986 Information Processing Text and OfficeSystems—Standard Generalized Markup Language (SGML).

To date, Web development tools have been limited in their ability tocreate dynamic Web applications that span from client to server andinteroperate with existing computing resources. Until recently, HTML hasbeen the dominant technology used in development of Web-based solutions.However, HTML has proven to be inadequate in the following areas:

Poor performance;

Restricted user interface capabilities;

Can only produce static Web pages;

Lack of interoperability with existing applications and data; and

Inability to scale.

Sun Microsystem's Java language solves many of the client-side problemsby:

Improving performance on the client side;

Enabling the creation of dynamic, real-time Web applications; and

Providing the ability to create a wide variety of user interfacecomponents.

With Java, developers can create robust User Interface (UI) components.Custom “widgets” (e.g., real-time stock tickers, animated icons, etc.)can be created, and client-side performance is improved. Unlike HTML,Java supports the notion of client-side validation, offloadingappropriate processing onto the client for improved performance.Dynamic, real-time Web pages can be created. Using the above-mentionedcustom Ul components, dynamic Web pages can also be created.

Sun's Java language has emerged as an industry-recognized language for“programming the Internet.” Sun defines Java as: “a simple,object-oriented, distributed, interpreted, robust, secure,architecture-neutral, portable, high-performance, multithreaded,dynamic, buzzword-compliant, general-purpose programming language. Javasupports programming for the Internet in the form ofplatform-independent Java applets.” Java applets are small, specializedapplications that comply with Sun's Java Application ProgrammingInterface (API) allowing developers to add “interactive content” to Webdocuments (e.g., simple animations, page adornments, basic games, etc.).Applets execute within a Java-compatible browser (e.g., NetscapeNavigator) by copying code from the server to client. From a languagestandpoint, Java's core feature set is based on C++. Sun's Javaliterature states that Java is basically, “C++ with extensions fromObjective C for more dynamic method resolution.”

Another technology that provides similar function to JAVA is provided byMicrosoft and ActiveX Technologies, to give developers and Web designerswherewithal to build dynamic content for the Internet and personalcomputers. ActiveX includes tools for developing animation, 3-D virtualreality, video and other multimedia content. The tools use Internetstandards, work on multiple platforms, and are being supported by over100 companies. The group's building blocks are called ActiveX Controls,small, fast components that enable developers to embed parts of softwarein hypertext markup language (HTML) pages. ActiveX Controls work with avariety of programming languages including Microsoft Visual C++, BorlandDelphi, Microsoft Visual Basic programming system and, in the future,Microsoft's development tool for Java, code named “Jakarta.” ActiveXTechnologies also includes ActiveX Server Framework, allowing developersto create server applications. One of ordinary skill in the art readilyrecognizes that ActiveX could be substituted for JAVA without undueexperimentation to practice the invention.

System Software in Accordance With a Preferred Embodiment

When a consumer purchases DVD at local store, or purchases onlinethrough online retailer a new DVD is available for consumer use. Theconsumer places the DVD in a computer and the DVD initiates an onlinesession between the user and an Internet server application in tightcommunication with the DVD in the DVD-ROM drive. Three BCA usage casesinclude:

(1) a consumer launches a browser and goes to a web site that utilizesthe BCA information to look up information in a database. The databaseis also updated with information gleaned from the current user and theirdemographics.

(2) a local application (like PCFriendly) automatically connects toInternet and to a web server that looks up and/or acts on BCAinformation, or

(3) a local application like PCFriendly utilizes information alreadycontained in the BCA number and tailors experience locally based on thisinformation.

The details associated with the various cases will be discussed. Case 1:go to web site that looks up BCA. With a DVD in their drive, consumerconnects to a special web site that has an agent/component embedded onthe web page that can read the BCA information. This embedded componentreads the BCA, along with other potential information (user id, etc.),passes this information to the web server. The web server then tailors aresponse to the consumer based on pre-definedconditions/marketing/profile.

Case 2: local application (like PCFriendly client software)automatically connects to a web server (without manual intervention ofconsumer) and passes BCA information to the web server. Based on the BCAnumber and other potential information, the web server passesinformation to the consumer's client software or presents remoteInternet-based information based on thisinformation/profile/retailer/etc.

Case 3: location application (like PCFriendly) reads BCA information andacts upon predefined information in the BCA number itself. This casedoes not necessarily require an Internet connection. The BCA is obtainedutilizing ASPI code to read the 188 bytes of information.

Examples of Cases:

Case 1: ActiveX control is designed using C++ and embedded in HTML page(using standard OBJECT definition in HTML). When the web page is loaded,so is the ActiveX control. Upon a grant of permission by a consumer, theActiveX control accesses the DVD-ROM drive, obtains BCA data, and anyother pertinent information. The ActiveX control then “posts” thisinformation to the web server using HTTP or FTP POST methods. The webserver automatically reads and parses the POST information, and actsupon this information (for example, by sending the consumer to a uniqueURL that is only accessible if the correct DVD with the correct BCA isin the DVD-ROM drive).

Case 2: Local C++ application (PCFriendly) utilizes a remote agenttechnology developed by InterActual. The remote agent technologyautomatically connects to the remote web server (without consumerinteraction) and passes the web server the BCA number with any otherpertinent information. The remote agent also supports HTTP or FTP POSTmethods. The web server automatically reads and parses the POSTinformation, and acts upon this information.

Examples Include:

Consumer request to purchase a specific product is automatically routedto the retailer from which the original DVD was purchased. In support ofthis example, a virtual POP/MDF display and information is downloaded(or unlocked) locally and presented to consumer.

Case 3: Local C++ application or activeX controls in a local web pageaccess the BCA information on the DVD. Based on this information, thelocal application acts upon this information. (In this mode, theinformation contains in the BCA field must have sufficient informationfor local application to act upon).

The current system involves an online database that provides a real-timelookup based on the BCA. The resulting lookup in the database canretrieve information specific to the application such as a consumerprofile, retailer and support location and piracy information.

Usages of BCA Information

Retail Distribution

When a remote agent connects to a server with BCA information, theserver performs a real-time lookup on the BCA number and determines thereplicator, distributor, and/or retailer for the passed BCA number. Thisinformation can then be used for various projects, such as Updating orchanging channel/banner/programming in PCFriendly software. FIG. 2depicts this operation as a RemoteSync 238. Unlock specific assets suchas HTML, video, graphics and others which are depicted in function blockUnlock Server 230. Play different assets or portion of video based onBCA information as shown in function block Unlock Server 230. Theapplication also downloads new content based on the BCA informationRemoteSync 238.

The BCA information can also be utilized to direct e-commercetransactions or “buy-me” buttons to an appropriate retailer utilizingthe RemoteTrak/BCATrak function 234.

An application in accordance with a preferred embodiment can alsobroadcast new information/updates as shown in the Broadcast Serverfunction block 236. Logic is also provided to unlock and/or controlaccess to specific web sites based on BCA information as shown in theRemoteTrak Server function block 230. This logic provides consumerredirect to specific “storefront” of a retailer.

Track Individual Retail Store Performance

Specific retail store performance and consumer online usage associatedwith specific retailers can be tracked utilizing information based onthe BCA number. This provides a local retailer with information todetermine the most successful opportunities to get users online.Information such as a virtual Point of Purchase (POP) and MarketingDevelopment Fund (MDF) utilize the BCA information and the RemoteTrakServer function 230 to track and attract consumers.

Coupons

Discount coupons and the like (e.g., “cents off” coupons, rebatecoupons, special offer coupons, or the like, collectively referred toherein as “coupons”) have become an integral part of marketingstrategies for many products, particularly retail consumer goods,sundries, foodstuffs, hardware, clothing, and the like, typically soldat local grocery, drug, and discount stores. Product manufacturers havecome to rely upon coupons, rebate and gift certificates or the like topromote new and existing products, boost sales, and obtain demographicinformation concerning consumer buying patterns. Consumers have come torely upon coupons or certificates as a technique for reducing costs.

Prior art couponing techniques have had several disadvantages, not theleast of which are low response rate and fraud. In the prior art,coupons may be distributed using direct mailing techniques, printed innewspapers, magazines, or the like, distributed with other commercialgoods (e.g., laundry soap coupon packaged with washing machine), ordistributed (e.g., by original equipment manufacturers or OEMs) with thesame or like goods, computers or the like (e.g., “cents off” toward nextpurchase). Such techniques require massive amounts of printing anddistribution, and historically have a low response rate (e.g., typicallyless than 2% of coupons distributed are redeemed). Thus, suchmass-distribution techniques may not be cost effective, and are notenvironmentally friendly, due to the large amount of paper wasted.

Such low response rates may be due in part to the difficulty a consumermay have in maintaining, cataloging, and finding appropriate couponsbefore shopping. A particular consumer may have at his or her disposalonly those coupons that have been sent to him or her and have beenretained by the consumer. Moreover, since many coupons have expirationdates, a consumer may have to carefully catalog each coupon to insurethat it is redeemed before such an expiration date occurs. Suchtechniques are time-consuming and cumbersome. Generally, only thoseconsumers on a budget or those who use couponing as a hobby havesufficient time to maximize their use of available coupons. Busier andmore affluent consumers may not believe that such coupon managementtechniques are cost effective. This latter group of consumers mayrepresent a more desirable demographic for a product manufacturer toattract or track.

With the advent of double or even triple redemption couponing promotionsprovided by some retail stores (e.g., grocery store chain or the like)as well as generous cash rebate coupon promotions (i.e., giftcertificates or the like), fraud had become an every increasing problemin coupon marketing. Color photocopiers may create coupons that areindistinguishable from originals. Unscrupulous consumers may use suchcopied coupons to purchase large numbers of items at reduced prices orfraudulently obtain rebates for products which were never purchased.

Moreover, some unscrupulous retailer may conspire with coupon brokers toredeem large numbers of illicitly obtained or generated to defraudmanufacturers.

As coupon discounts or rebates may be used for promotional purposes, theresulting net price to the consumer with such a discount may be lessthan the product manufacturer's wholesale price. A product manufacturermay offer such steep discounts in the hope of obtaining future sales atfull retail prices. If a consumer uses a photocopied coupon for multiplepurchases of a retail item, the product manufacturer may not obtain thedesired repeat sales at full retail price, and the entire scheme ofcouponing may be defeated.

In addition, prior art couponing techniques have yielded little, if any,useful data to product manufacturers regarding who is redeeming suchcoupons. Consumer demographic data is invaluable to a productmanufacturer in determining which products to target to particularconsumer groups (e.g., through particular advertising venues). Moreover,such demographic data may be used to more efficiently distribute futurecoupons. In addition, information as to the buying habits (i.e.,recency, frequency, and monetary value or RFM) and demographics ofparticular consumers or groups of consumers have a market value and suchinformation may be sold or traded for a profit.

Various techniques have been tried to eliminate or reduce fraud, providemore convenient techniques for distributing coupons, and to better trackconsumer demographic data. De Lapa et al., U.S. Pat. No. 5,353,218discloses a focused coupon system. FIG. 6 of De Lapa et al. is mostillustrative. De Lapa et al. discloses a system for distributing couponswith a machine readable code (barcode) containing both customer andcoupon identifications. The consumer code may be replaced with a genericcode used in a look-up table for coupon verification and information.The entire machine-readable code may be captured and uploaded to acentral database for determining coupon and consumer identification. Theuploaded information may be used for marketing purposes (to determinewhich coupons to next send to the consumer) and/or for rebate purposes.

Although the system of De Lapa et al. attempts to provide a more focuseddistribution technique, the system still relies upon paper coupons beingdistributed to consumers. Consumers may throw out such mass mailings(i.e., “junk mail”) without opening them. Moreover, the system reliesupon the consumer supplying demographic information in a questionnaireor the like in order to be provided with the coupons. Moreover, sincethe coupons of De Lapa et al. are preprinted, coupon trading or copyingmay be more prevalent.

Furthermore, in De Lapa et al., no mechanism is present for capturingsubsequent demographic information. In addition, as consumer data iscaptured at the store level, an additional mechanism may be required toupload such consumer information to a centralized database to captureconsumer demographic information. Additional data processinghardware/software may be required at a retail store in order to processsuch data. Thus, retailers may be initially reluctant to invest in sucha scheme.

In retailing, it may be essential to check out consumers in as littletime as possible. Thus, if additional processing time is required duringcustomer checkout to process the coupons of De Lapa et al. retailers maybe less likely to accept adopt such technologies.

Moreover, under the scheme of De Lapa et al., there is no mechanismprovided to insure that the individual who receives the coupons is thetargeted individual. If a consumer moves to a new address, new occupantsat the old address may receive and redeem coupons addressed to theconsumer. Thus, target tracking data may be inaccurate or incomplete.

Murphy, U.S. Pat. No. 5,305,195, issued Apr. 19, 1994, discloses aninteractive advertising system for on-line terminals. A series of remoteterminals receive compressed and encoded video advertising signals thatmay be stored on an internal hard drive. The advertising videos areplayed, and a consumer may select products using the terminal. In FIG.4, (Col. 7, lines 45-50) Murphy discloses that a printer may be providedfor printing selected coupons.

The apparatus of Murphy may solve some of the problems associated withdistributing coupons in paper form. However, The Murphy system appearsto be more concerned with directing advertising information thancollecting demographic information or distributing coupons. Thus, itdoes not appear that the apparatus of Murphy is equipped to processdemographic information or reduce coupon fraud. Moreover, Murphydiscloses his apparatus for use in college campuses, a limited andnarrow consumer demographic.

Von Kohorn, U.S. Pat. No. 5,128,752, issued Jul. 7, 1992 discloses asystem and method for generating and redeeming tokens selected fromtelevision data. Product information and authentication data may betransmitted and displayed on a television and a home printer. A viewermay select a coupon for printing and redeem the coupon at a retailstore.

Von Kohorn does disclose a technique for reducing fraud (Col. 7, lines16-38). However, it appears that these techniques require action at theretail level to verify that a coupon is indeed legitimate, including, inone embodiment, requesting identification credentials from the consumer.Such techniques may be intrusive and cumbersome to use in a retailestablishment where a number of coupons may be redeemed at any giventime.

Moreover, it does not appear in the system of Von Kohom, which relies onbroadcasting, does not target specific consumers with particularcoupons. Rather, it appears that the coupons are distributed to allviewers equipped with the appropriate apparatus. Note that in FIG. 6(Col. 9, lines 40-48) Von Kohom discloses a technique for recordingmarketing data from consumer information encoded into the coupon.

Axler et al., U.S. Pat. No. 5,305,197, issued Apr. 19, 1994, discloses acoupon-dispensing machine with feedback. A consumer kiosk is placed in aretail establishment or the like to display advertising (LED scroll) andallow customers to print out selected coupons. A proximity sensordetects the presence of customers near the apparatus.

The Axler device may solve some of the problems associated with paperdistribution of coupons. However, it does not appear that the Axlerdevice may retrieve any significant amount of consumer demographic dataother than the number and type of coupons printed. Moreover, within thein-store environment, it may be difficult to enter such consumer data,particularly with the keypad disclosed by Axler. Thus, it does notappear that the Axler device may be suitably adapted to retrieveconsumer demographic data.

A fundamental fault with the Axler device is that it does not appear totarget or prior motivates customers with to visit a retailer withspecific coupons. Rather, the in-store location of the Axler device mayfacilitate a consumer “targeting” a coupon. In other words, a consumermay make a number of product selections in a store and then visit thecoupon kiosk of Axler to determine whether any purchases are subject tocoupon discount or rebate. Thus, the fundamental goal of couponing—tomotivate a consumer to purchase a product—may be compromised.

In addition, the kiosk of Axler may occupy valuable commercial retailspace. In a retail store (e.g., supermarket or the like) even a few feetof shelving may be extremely valuable for displaying and containingretail merchandise. Product manufacturers may even pay “rent” to aretail establishment in the form of rebates or promotional fees in orderto obtain prominent shelf space. Thus, a retail establishment may beloath to give up such valuable space to a couponing kiosk. Moreover, itmay be time consuming and frustrating for customers waiting in line toaccess the kiosk. Providing additional kiosks may be cost-prohibitive.

Support Services in Accordance With a Preferred Embodiment

To provide enhanced support for DVD in a commercial environment, the BCAis utilized to redirect to a specific support site based on table lookuputilizing the BCA number as shown in FIG. 2 at function block 234RemoteTrak/BCATrak Server function block. Logic is also provided totrack disc anomalies and defects from manufacturing process as shown infunction block 234 RemoteTrak/BCATrak Server. Other logic is alsoprovided to track retailer-specific support issues as shown in functionblock 234 RemoteTrak/BCATrak Server, to track geographical supportissues as shown in function block 234 RemoteTrak/BCATrak Server, torestrict access to support sites based on BCA information as shown infunction block RemoteTrak/BCATrak Server 234. Finally, enhanced supportis provided for broadcast updates utilizing support and drivers based onBCA information as shown at function block 236 Broadcast Server.

Security in Accordance With a Preferred Embodiment

The BCA information can also be combined with game unlocking logic toprovide an authorized user with unlocked video based on BCA informationas shown at function block 238 DVDUnlock Server. BCA information has aunique identifier which, when combined with other data, can track when amovie and/or a game was given to a friend which will trigger anothertransaction for payment or other information as shown in function block234 RemoteTrak/BCATrak Server. This information can also be used totrack pirated DVDs, and report the information back to the retailer asshown in function block 230 RemoteTrak/BCATrak Server, back to amanufacturer as shown in function block 230 RemoteTrak/BCATrak Serverand back to a distributor as shown in function block 230RemoteTrak/BCATrak Server.

This capability provides the ability to localize pirated discs to aspecific region/retailer as shown in function block 230RemoteTrak/BCATrak Server and track illegal region code use andpotentially trace back to retailer/distributor as shown in functionblock 230 RemoteTrak/BCATrak Server.

General/Advertising Logic in Accordance With a Preferred Embodiment

Logic is also provided to tailor video based information as part of theBCA (play video 1 for one demographic, play video 2 for another as shownin function block 238 DVDUnlock Server, RemoteSync, and to tailorinternet/browser experience based on BCA information as shown infunction block 238 RemoteTrak/BCATrak Server. Targeted advertising isalso provided based on BCA information and content can be tailored forchannel/banner/programming within PCFriendly software) based on consumerprofile which is associated with BCA as shown in function block 238RemoteSync.

FIG. 5 is a block diagram of a user experience in accordance with apreferred embodiment. The BCA number 503 is burned/added onto DVD 505.When the DVD is placed into a consumer's computer 510, InterActual'ssoftware automatically reads the BCA number and passes this informationto the web server. The BCA information is passed to the web server,running an ISAPI extension 520, using either HTTP or FTP protocol 515.The information can be passed from a local “client” application, or anapplet or ActiveX-type control can be downloaded from a web site thatpassed this information to the web server. The information is currentlypassed using an HTTP POST command using the syntax shown below.

http://www.pcfriendly.com/scripts/RemoteAgentUpgrade.DLL&bca=1234568790?userid=1234568790?.. . .

The current implementation of the web server is an ISAPI extensionwritten in Visual C++ and is currently named RemoteAgentUpgrade.DLL foruse with Microsoft Windows NT. Upon receiving the POST command, theISAPI extension parses the information in the POST command to determinethe BCA number and other associated information (such as user ID, etc.).This information is then logged in the web server log table 530, and isused to query specific information in the web server database 550 basedon the POST. This flexible database structure enables a variety of usesof the BCA number.

A retailer example in accordance with a preferred embodiment ispresented to assist one of ordinary skill in the art to make and use theinvention without undue experimentation. A consumer inserts a DVD intotheir DVD-ROM drive. The consumer is presented with an HTML page with a“Buy-Me” button. Upon clicking the Buy-Me button, the consumer isconnected to the Internet to a specific web page that includes anActiveX control. The ActiveX control automatically connects to the ISAPIextension with BCA information for the currently inserted DVD. TheActiveX control also informs the ISAPI extension that the consumer isattempting an e-commerce transaction. The ISAPI extension parses theinformation from the POST command, and connects to the web serverdatabase. Since the ActiveX control informed the ISAPI extension that ane-commerce transaction is being attempted, the ISAPI extension connectsto the web server database to determine the retailer from which the DVDwas originally purchased. This can be determined because a web serverdatabase contains a BCA lookup table 560 with three fields:

BCA Number #123458790 DVD Title Name Lost In Space Retailer/StoreHollywood Video, Store #23

Using the Retailer/Store information, the appropriate e-comrnmerce URLcan be determined from Retailer table 570 that contains informationspecific for that Retailer:

Retailer/Store Hollywood Video, Store #23 E-Commerce URLhttp://www.retailer23.com/. . .

FIG. 6 is a flowchart of a redirect operation for an electronic commercetransaction utilizing BCA information for intelligent processing inaccordance with a preferred embodiment. Processing commences at 600 whena user inserts a DVD into a player and the electronic commerce operationis initiated by a user action as shown in function block 610. When theuser selects the purchase option at 610, logic is initiated to read theBCA information and this information is combined with other userinformation from the server database as shown in function block 620.Then the server performs a table lookup to ascertain the retailer thatsold the original DVD as shown in function block 630. The originalretailer becomes the target for the purchase that the user initiated infunction block 610, and the e-commerce transaction is re-routed to theretailer that sold the disk as shown in function block 640. Finally, atransaction is posted to the server database that memorializes theevents associated with the re-direct operation.

FIGS. 7A and 7B are flowcharts setting forth the detailed logicassociated with user connection and update for DVD processing inaccordance with a preferred embodiment. Processing commences when a userconnects to the Internet with a DVD application active as illustrated infunction block 700. The remote agent detects the live internetconnection and connects the application to a server for furtherprocessing as shown in function block 710. Then, the server connects theapplication with the appropriate version identification and upgrades theremote application if an upgraded version is available without furtherinput from the user as shown in function block 720. If the user is afirst time user, then the server obtains user information from the userutilizing, for example data from the DVD, or a query operation as shownin function block 730. Then, the application collects current DVD usageinformation and logs the information to a database as shown in functionblock 740. Finally, the current DVD information is transmitted to theuser as shown in function block 750. Processing is then transferred tofunction block 752 of FIG. 7B where the application determines if anybroadcast events are available. Then, in function block 754, if a userrequests broadcast events, then the server passes the information to theuser in HTTP format as shown in function block 756. The remote agentreceives the information from the server and coverts the information forthe particular DVD player as shown in function block 758, and ultimatelylogs user information in a database at the server as shown in functionblock 760.

General Advertising Flows

FIG. 8 is a flowchart setting forth the detailed logic for generaladvertising services in accordance with a preferred embodiment. Theflowchart illustrates the detailed logic associated with presentingadvertising (such as a banner) customized for a particulardistributor/retailer/etc.

FIG. 8 presents logic demonstrating the display of specific advertisinginformation based on a retailer/distributor utilizing BCA informationfor intelligent processing in accordance with a preferred embodiment.Processing commences at 800 when a user inserts a DVD with BCAinformation into a player, and the advertising operation is initiated bya user action as shown in function block 810. When a user connects to aweb page on the Internet at 810, logic is initiated to read the BCAinformation and this information is combined with other user informationfrom the server database as shown in function block 820. Then the serverperforms a table lookup to ascertain the retailer that sold the originalDVD as shown in function block 830. Once the original retailer isascertained, the server performs another table lookup to determine theadvertising banner as shown in function block 840. The advertisingbanner associated with original retailer is then displayed in the website 810 as shown in function block 850. Finally a transaction is postedto the server database that memorializes the events associated with theadvertising operation 860.

Distributors, retailers, computer or other hardware manufacturers,direct sales people, content developers or anyone who distributes,sells, or gives away DVDs will all receive benefits as detailed below inaccordance with a preferred embodiment. Some of these include forexample:

Blockbuster, DVDExpress, Amazon.com, Best Buy, Deluxe,Technicolor/Ninbusl, IBM, Gateway, Dell, Creative Labs, New Line,Warner, Activision, Electronic Arts, General Motors and Ford MotorCompany.

FIG. 9 is a flowchart demonstrating the display of specific advertisinginformation based on genre/type of DVD utilizing BCA information forintelligent processing in accordance with a preferred embodiment.Processing commences at 900 when a user inserts a DVD with BCAinformation into a player, and the advertising operation is initiated bya user action as shown in function block 910. When the user connects toweb page on the Internet at 910, logic is initiated to read the BCAinformation and this information is combined with other user informationfrom the server database as shown in function block 920. Then the serverperforms a table lookup to ascertain the title and genre of the DVD asshown in function block 930. Once the title and genre is ascertained,the server performs another table lookup to determine the advertisingbanner as shown in function block 940. The advertising banner associatedwith the title and genre of the DVD is then displayed in the web site910 as shown in function block 950. Finally a transaction is posted tothe server database that memorializes the events associated with theadvertising operation 960.

FIG. 10 is a flowchart of a download operation for downloading andupdating retailer-specific information of the DVD utilizing BCAinformation for intelligent processing in accordance with a preferredembodiment. Processing commences at 1000 when a user connects to theInternet with a DVD application active. Logic detects a live Internetconnection, reads the BCA information, and initiates a connection to theserver as shown in function block 1010. After logic initiates theconnection to the server in 1010, the DVD application requests allavailable downloads from the server for the retailer of the currentlyinserted DVD, as shown in function block 1020. The server performs atable lookup to ascertain the retailer that sold the original DVD asshown in function block 1030. Then the server performs another tablelookup to determine the download information as shown in function block1040. Once the download information is determined for the requestinitiated by the application in function block 1020, the server passesthe download information to the application using HTTP protocal as shownin function block 1050. Finally a transaction is posted to the serverdatabase that memorializes the events associated with the downloadoperation 1060.

FIG. 11 is a flowchart of a download operation for downloading andupdating DVD title-specific information utilizing BCA information forintelligent processing in accordance with a preferred embodiment.Processing commences at 1100 when a user connects to the Internet with aDVD application active. Logic detects a live Internet connection, readsthe BCA information, determines DVD application version information, andinitiates a connection to the server as shown in function block 1110.After logic initiates the connection to the server in 1110, the DVDapplication requests all available downloads from the server for thecurrently inserted DVD title, as shown in function block 1120. Theserver performs a table lookup to ascertain the DVD title as shown infunction block 1130. Then the server performs another table lookup todetermine the download information as shown in function block 1140. Oncethe download information is determined for the request initiated by theapplication in function block 1120, the server passes the downloadinformation to the application using HTTP protocal as shown in functionblock 1150. Finally a transaction is posted to the server database thatmemorializes the events associated with the download operation 1160.

FIG. 12 is a flowchart of a tailored video viewing operation utilizingBCA information for intelligent processing in accordance with apreferred embodiment. Processing commences at 1200 when a user inserts aDVD into a player and video playback is initiated by a user action asshown in function block 1210. When the user selects the play videooption at 1210, logic is initiated to read the BCA information and thisinformation is combined with other user information from the serverdatabase as shown in function block 1220. The server performs a tablelookup to ascertain the retailer that sold the original DVD as shown infunction block 1230. Then the server performs another table lookup todetermine the correct retailer video to play as shown in function block1240. Once the retailer video information is determined for the requestinitiated by the application in function block 1210, the serverinitiates playback of the correct video for the retailer that sold thedisk as shown in function block 1250. Finally a transaction is posted tothe server database that memorializes the events associated with thevideo viewing operation operation 1260.

FIG. 13 is a flowchart of a tailored video viewing operation utilizingBCA information for intelligent processing in accordance with apreferred embodiment. Processing commences at 1300 when a user inserts aDVD into a player and video playback is initiated by a user action asshown in function block 1310. When the user selects the play videooption at 1310, logic is initiated to read the BCA information and thisinformation is combined with other user information from the serverdatabase as shown in function block 1320 and transmitted to the server.The server performs a table lookup to ascertain the genre and/or titleas shown in function block 1330. Then the server performs another tablelookup to determine the correct genre and/or title video to play asshown in function block 1340. Once the genre and/or title videoinformation is determined for the request initiated by the applicationin function block 1310, the server initiates playback of the correctvideo for the genre and/or title as shown in function block 1350.Finally a transaction is posted to the server database that memorializesthe events associated with the video viewing operation operation 1360.

FIG. 14 is a flowchart of the logic associated with a tailoredmultimedia viewing operation utilizing BCA information for intelligentprocessing in accordance with a preferred embodiment. Processingcommences at 1400 when a user inserts a DVD into a player and view isinitiated by a user action as shown in function block 1410. When theuser selects the view option at 1410, logic is initiated to read the BCAinformation as shown in function block 1420. The DVD applicationperforms a local table lookup to ascertain the genre/title/retailer asshown in function block 1430. Then the DVD application performs anotherlocal table lookup to determine the correct multimedia element todisplay as shown in function block 1440. Once the multimedia element isdetermined for the request initiated by the application in functionblock 1410, the DVD application initiates playback of the correctmutlimedia element for the genre/title/retailer as shown in functionblock 1450. Finally a transaction is posted to the server database thatmemorializes the events associated with the multimedia viewing operation1460.

Flowcharts for Security Processing in Accordance With a PreferredEmbodiment

FIG. 15 is a flowchart of a security operation for restricting access tospecific web sites utilizing BCA information for intelligent processingin accordance with a preferred embodiment. Processing commences at 1500when a user inserts a DVD into a player and the security operation isinitiated by a user action as shown in function block 1510. When theuser initiates connection to a secure web site at 1510, logic isinitiated to read the BCA information and this information is combinedwith other user information from the server database as shown infunction block 1520. Then the server performs a table lookup toascertain if the user, based on the BCA number, is allowed access to thesecure web site as shown in function block 1530. The server eitherallows or restricts entry to the web site based on the BCA number asshown in function block 1540. Finally a transaction is posted to theserver database that memorializes the events associated with thesecurity operation 1550.

FIG. 16 is a flowchart of a unlock operation for an electronic commercetransaction utilizing BCA information for intelligent processing inaccordance with a preferred embodiment. Processing commences at 1600when a user inserts a DVD into a player and the unlock operation isinitiated by a user action as shown in function block 1610. When theuser selects the play/install DVD option at 1610, logic is initiated toread the BCA information and this information is combined with otheruser information from the server database as shown in function block1620. Then the server performs a table lookup to ascertain if the DVDcan be unlocked for playing or installation as shown in function block1630. If the server determines that the user must first perform apurchase transaction, the server prompts the user for any necessarytransaction information as shown in function block 1640. After the usercompletes the transaction in function block 1640, or the serverdetermines that a transaction occurred at an earlier time, or if theserver determines that a transaction does not need to occur, the serverperforms the unlock operation as shown in function block 1650. Finally atransaction is posted to the server database that memorializes theevents associated with the unlock operation 1660.

FIG. 17 is a flowchart of an unlocking operation for an electroniccommerce transaction utilizing BCA information for intelligentprocessing in accordance with a preferred embodiment. Processingcommences at 1700 when a user inserts a DVD into a player and the unlockoperation is initiated by a user action as shown in function block 1710.When the user selects the play/install DVD option at 1710, logic isinitiated to read the BCA information and this information is combinedwith other user information from the server database as shown infunction block 1720. The server performs a table lookup to ascertain theuser information for the DVD using the BCA information as shown infunction block 1730. Then the server performs a table lookup toascertain if the DVD can be unlocked for playing or installation asshown in function block 1740. If the server determines that the usermust first perform a purchase transaction, the server prompts the userfor any necessary transaction information as shown in function block1750. After the user completes the transaction in functional block 1750,or if the server determined that a transaction occurred at an earliertime, or if the server determines that a transaction does not need tooccur, the server performs the unlock operation as shown in functionblock 1760. Finally a transaction is posted to the server database thatmemorializes the events associated with the unlocking operation 1770.

FIG. 18 is a flowchart of a logging operation for tracking piracy andmisuse of a DVD utilizing BCA information for intelligent processing inaccordance with a preferred embodiment. Processing commences at 1800when a user inserts a DVD into a player and the logging operation isinitiated by a user action as shown in function block 1810. When theuser user selects the play/install DVD option at 1810, logic isinitiated to read the BCA information and this information is combinedwith other user information from the server database as shown infunction block 1820. The server performs a table lookup to ascertain ifthe user, based on the BCA number, is allowed to apply or install theDVD as shown in function block 1830. Then the server either enables ordisables the DVD for playback/installation as shown in function block1840. Finally a transaction is posted to the server database thatmemorializes the events associated with the logging operation 1850. Thelogging information can be used to localize pirated discs to a specificregion, track illegal region code use, and trace misuse/pirated DVDsback to retailer, distributor, manufacturer, or content developer.

Support Services

FIG. 19 is a flowchart of a redirect operation for a support transactionfor intelligent processing in accordance with a preferred embodiment.Processing commences at 1900 when a user inserts a DVD with BCAinformation into a player, and the redirect operation is initiated by auser action as shown in function block 1910. When the user selects thesupport option at 1910, logic is initiated to read the BCA informationand this information is combined with other user information from theserver database as shown in function block 1920. Then the serverperforms a table lookup to ascertain the support organization for theoriginal DVD as shown in function block 1930. The support organizationbecomes the target for the support request that the user initiated infunction block 1910, and the support transaction is re-routed to thesupport organization associated with the DVD in function block 1940.Finally a transaction is posted to the server database that memorializesthe events associated with the redirect operation 1950.

FIG. 20 is a flowchart of a display operation for a support transactionfor intelligent processing in accordance with a preferred embodiment.Processing commences at 2000 when a user inserts a DVD with BCAinformation into a player, and the display operation is initiated by auser action as shown in function block 2010. When the user selects thesupport option at 2010, logic is initiated to read the BCA informationand this information is combined with other user information from theserver database as shown in function block 2020. Then the serverperforms a table lookup to ascertain the DVD-specific supportinformation for the DVD in the user's player as shown in function block2030. Once the server has determined the DVD-specific information forthe support request initiated by the user in function block 2010, theDVD-specific information is displayed to the user in function block2040. Finally a transaction is posted to the server database thatmemorializes the events associated with the display operation 2050.

FIG. 21 is a flowchart of support tracking utilizing BCA for intelligentprocessing in accordance with a preferred embodiment. Processingcommences at 2100 when a user inserts a DVD with BCA information into aplayer, and the display operation is initiated by a user action as shownin function block 2110. When the user selects the support option at2110, logic is initiated to read the BCA information and thisinformation is combined with other user information from the serverdatabase as shown in function block 2120. Then the server performs atable lookup to ascertain the DVD-specific support information for theDVD in the user's player as shown in function block 2130. Once theserver has determined the DVD-specific information for the supportrequest initiated by the user in function block 2110, the DVD-specificinformation is used, for example, to track retailer-specific supportissues or geographical support issues as shown in function block 2140.Finally a transaction is posted to the server database that memorializesthe events associated with the display operation 2150 and thememorialized information is utilized to generate reports trackingretailer-specific support issues or geographical support issues

FIG. 22 is a flowchart of a redirect operation for a support transactionfor intelligent processing in accordance with a preferred embodiment.Processing commences at 2200 when a user inserts a DVD with BCAinformation into a player, and the redirect operation is initiated by auser action as shown in function block 2210. When the user selects thesupport option at 2210, logic is initiated to read the BCA informationand this information is combined with other user information from theserver database as shown in function block 2220. Then the serverperforms a table lookup to ascertain the support organization for theoriginal DVD as shown in function block 2230. The support organizationbecomes the target for the support request that the user initiated infunction block 2210, and, if allowed, the support transaction isre-routed to the support organization associated with the DVD infunction block 2240. Otherwise, the user is redirected to a locationinforming the user that support location is not available. Finally atransaction is posted to the server database that memorializes theevents associated with the redirect operation 2250.

FIG. 23 is a flowchart of a broadcast operation for downloading update,support and application information utilizing BCA information forintelligent processing in accordance with a preferred embodiment.Processing commences at 2300 when a user connects to the internet with aDVD application active. Logic detects a live Internet connection, readsthe BCA information, determines DVD application version information, andinitiates a connection to the server as shown in function block 2310.After logic initiates the connection to the server in 2310, the DVDapplication requests all broadcast information from the server for thethe DVD, as shown in function block 2320. The server performs a tablelookup to ascertain the broadcast information for the DVD as shown infunction block 2330. Once the broadcast information is determined forthe request initiated by the application in function block 2320, theserver passes the broadcast information to the application using HTTPprotocal as shown in function block 2340. Then the DVD application actsupon the broadcast information by either presenting information to theuser or automatically acting upon the information as shown in functionblock 2350. Finally a transaction is posted to the server database thatmemorializes the events associated with the download operation 2360. Thee-commerce URL is then returned to the ActiveX control so that theconsumer's purchase request can be redirected to the appropriate URL.

Visual C++ code in accordance with a preferred embodiment is providedbelow to further embellish the description of the invention.

* These functions are used to obtain BCA information * * DATE NAMEREASON * * 3/22/99 ITI Created * * NOTES: * * © COPYRIGHT 1999InterActual Technologies, Inc. ALL RIGHTS RESERVED.******************************************************* **************/#include “stdafx.h” #include “scsidefs.h” #include “wnaspi32.h” DWORDxReportBCA(LPBYTE pbData, WORD cbData); DWORD AtapiSendCommand(LPBYTEpPacket, LPBYTE pBuffer, DWORD cbBuffer); DWORD AtapiInit(int index);void AtapiUninit(); DWORD xReportBCA(LPBYTE pbData, WORD cbData) { DWORDnReturn; UCHAR Cdb[16]; DWORD bWindowsNT = FALSE;  OSVERSIONINFO vi; vi.dwOSVersionInfoSize = sizeof(vi);  if (GetVersionEx(&vi))  bWindowsNT = (vi.dwPlatformId == VER_PLATFORM_(—)  1 WIN32_NT);  if(bWindowsNT)   return FALSE; // for now not implemented zeroMemory(&Cdb,sizeof(Cdb));  Cdb[0] = 0xAD; // CMD_READ_DVD_STRUC; Cdb[7] = 0x03; // Format  Cdb[8] = HIBYTE(cbData); // sizeofAllocationLength  Cdb[9] = LOBYTE(cbData); // sizeof AllocationLength Cdb[10] =0; //Agid  nReturn = AtapiSendCommand(Cdb, pbData, cbData); return nReturn; } typedef DWORD (_cdecl *LPFNSENDASPI32COMMAND)(LPSRB);typedef DWORD (_cdecl *LPFNGETASPI32SUPPORTINFO)(VOID); BOOLAspiInquiryCmd(BYTE *pbInq, WORD cbData); // statics yuk static BYTEAdapterCount = 0; static BYTE AdapterID = 0; static BYTE TargetID = 0;LPFNSENDASPI32COMMAND g_fnSendASPI32Command = NULL;LPFNGETASPI32SUPPORTINFO g_fnGetASPI32SupportInfo = NULL; HINSTANCEg_hWNASPI = NULL; DWORD AtapiInit(int index) {  if(g_fnSendASPI32Command && g_fnGetASPI32SupportInfo)   return TRUE;if(!(g_hWNASPI = LoadLibrary(“WNASPI32.DLL”)))  return FALSE;  if (NULL== (g_fnSendASPI32Command =  LPFNSENDASPI32COMMAND)GetprocAddress(g_hWNASPI, “SendASPI32Command”)))   return FALSE;  if(NULL == (g_fnGetASPI32SupportInfo =  (LPFNGETASPI32SUPPORTINFO)GetProcAddress(g_hWNASPI, “GetASPI32SupportInfo”)))   return FALSE;DWORD ASPI32Status = (*g_fnGetASPI32SupportInfo)(); AdapterCount =(LOBYTE(LOWORD(ASPI32Status))); if((AdapterCount == 0) ∥(HIBYTE(LOWORD(ASPI32Status)) != SS_COMP))  return FALSE;   BYTEpbInq[LEN_INQUIRY_DATA+1];   for (BYTE aid = 0; aid < AdapterCount;aid++)    for (BYTE tid = 0; tid < MAX_TARGET; tid++){     AdapterID =aid;     TargetID = tid;     if (AspiInquiryCmd(pbInq,LEN_INQUIRY_DATA)){      if(DTYPE_CROM == pbInq[0]){       if(index--==0){       return TRUE;       }      }     }    }   return FALSE; }void AtapiUninit() {  if(g_hWNASPI){   FreeLibrary(g_hWNASPI);  g_fnSendASPI32Command = NULL;   g_fnGetASPI32SupportInfo = NULL;  g_hWNASPI = NULL;  } } DWORD AtapiSendCommand(BYTE *pCdb, BYTE*pbData, DWORD cbData) {   PSRB_ExecSCSICmd pSrb =(PSRB_ExecSCSICmd)malloc(sizeof(SRB_ExecSCSICmd));   if(pSrb == NULL) return FALSE;   memset(pSrb, 0, sizeof(SRB_ExecSCSICmd));   //SendCommand   pSrb->SRB_Cmd = SC_EXEC_SCSI_CMD;   pSrb->SRB_Status =0xff;   pSrb->SRB_HaId = AdapterID;   if((pCdb[0] == 0xA3) && (cbData !=0))    pSrb->SRB_Flags = SRB_DIR_OUT;   else if(pCdb[0] == 0x43)   pSrb->SRB_Flags = SRB_DIR_IN;   else    pSrb->SRB_Flags =SRB_DIR_SCSI;   pSrb->SRB_Target = TargetID;   pSrb->SRB_BufLen =(DWORD)cbData;   pSrb->SRB_BufPointer = pbData;   pSrb->SRB_SenseLen =SENSE_LEN;   pSrb->SRB_CDBLen = LEN_ATAPI_PACKET;   pSrb->SRB_HaStat =0xff;   pSrb->SRB_TargStat = 0xff;   memcpy(pSrb->CDBByte, pCdb,LEN_ATAPI_PACKET);   DWORD ASPI32Status = (*g_fnSendASPI32Command)(pSrb);   DWORD timeout = 600; while((pSrb->SRB_Status ═ SS_PENDING) && (timeout>0)){  Sleep(10); timeout--; } if(pSrb->SRB_Status == SSCOMP){  free(pSrb);  return TRUE;} if ((pSrb->SRB_Status==SS_ERR) && (pSrb->SRB_(—)TargStat═STATUS_CHKCOND)) {  }  free(pSrb);  return FALSE; } BOOLAspiInquiryCmd(BYTE *pblnq, WORD cbData) { _BYTE Cdb[LEN_ATAPI_PACKET]; memset(Cdb, 0, LEN_ATAPI_PACKET);  Cdb[0] = SCSI_INQUIRY;  Cdb[4] =LEN_INQUIRY_DATA;   PSRB_ExecSCSICmd pSrb =(PSRB_ExecSCSICmd)malloc(sizeof(SRB_ExecSCSICmd));   if(pSrb == NULL) return FALSE; memset(pSrb, 0, sizeof(SRB_ExecSCSICmd)); pSrb->SRB_Cmd =SC_EXEC_SCSI_CMD; pSrb->SRB_Status = 0xff; pSrb->SRB_HaId = AdapterID;pSrb->SRB_Flags = SRB_DIR_SCSI; pSrb->SRB_Target = TargetID;pSrb->SRB_BufLen = (DWORD)cbData; pSrb->SRB_BufPointer = pbInq;pSrb->SRB_SenseLen = SENSE_LEN; pSrb->SRB_CDBLen = 6; pSrb->SRB_HaStat =0xff; pSrb->SRB_TargStat = 0xff; memcpy(pSrb->CDBByte, Cdb,LEN_ATAPI_PACKET); // Send Command DWORD ASPI32Status =(*g_fnSendASPI32Command)(pSrb);   DWORD timeout = 600; /* Wait forpending status */ while ((pSrb->SRB_Status == SS_PENDING) &&(timeout>0)){  Sleep(10);  timeout--; } /* Check Error Code */if(pSrb->SRB_Status == SS_COMP) { free(pSrb); return TRUE; } /* Set lastdevice error */ if((pSrb->SRB_Status==SS_ERR) && (pSrb->SRB_TargStat==STATUS_CHKCOND)) { } free(pSrb); return FALSE; }

Alternate Embodiments

It should be noted that various permutations of serialization may beemployed including, but not limited to a watermark, hologram, and anyother type in substitution or combination with the BCA informationwithout diverging from the spirit of the claimed invention.

Watermarking

Digital video data can be copied repeatedly without loss of quality.Therefore, copyright protection of video data is a more important issuein digital video delivery networks than it was with analog TV broadcast.One method of copyright protection is the addition of a “watermark” tothe video signal which carries information about sender and receiver ofthe delivered video. Therefore, watermarking enables identification andtracing of different copies of video data. Applications are videodistribution over the World-Wide Web (WWW), pay-per-view videobroadcast, or labeling of video discs and video tapes. In the mentionedapplications, the video data is usually stored in compressed format.Thus, the watermark must be embedded in the compressed domain. Anapproach for robust watermarking of MPEG-2 encoded video is presented inaccordance with an alternate embodiment. The method is of much lowercomplexity than a complete decoding process followed by watermarking inthe pixel domain and re-encoding. Although an existing MPEG-2 bitstreamis partly altered, the method avoids drift by adding a driftcompensation signal. The method has been implemented and the resultsconfirm that a robust watermark can be embedded into MPEG-encoded videowhich can be used to securely transmit arbitrary binary information at adata rate of several bytes/second.

The method is easily applicable to other video coding schemes likeMPEG-1, H.261, and H.263. Digital watermarks exist at a convergencepoint where creators and publishers of digitized multimedia contentdemand localized, secured identification and authentication of thatcontent. Because existence of piracy is clearly a disincentive to thedigital distribution of copyrighted works, establishment ofresponsibility for copies and derivative copies of such works isinvaluable. In considering the various forms of multimedia content,whether “master,” stereo, NTSC video, audio tape or compact disc,tolerance of quality degradation will vary with individuals and affectthe underlying commercial and aesthetic value of the content.

It is desirable to tie copyrights, ownership rights, purchaserinformation or some combination of these and related data to the contentin such a manner that the content must undergo damage, and therefore areduction in value, with subsequent, unauthorized distribution of thecontent, whether it be commercial or otherwise. Legal recognition andattitude shifts, which recognize the importance of digital watermarks asa necessary component of commercially distributed content (audio, video,game, etc.), will further the development of acceptable parameters forthe exchange of such content by the various parties engaged in thecommercial distribution of digital content.

These parties may include artists, engineers, studios, Internet accessproviders, publishers, agents, on-line service providers, aggregators ofcontent for various forms of delivery, on-line retailers, individualsand parties that participate in the transfer of funds to arbitrate theactual delivery of content to intended parties. Since thecharacteristics of digital recordings vary widely, it is a worth whilegoal to provide tools to describe an optimized envelope of parametersfor inserting, protecting and detecting digital watermarks in a givendigitized sample (audio, video, virtual reality, etc.) stream. Theoptimization techniques described hereinafter make unauthorized removalof digital watermarks containing these parameters a significantly costlyoperation in terms of the absolute given projected economic gain fromundetected commercial distribution. The optimization techniques, at theleast, require significant damage to the content signal, as to make theunauthorized copy commercially worthless, if the digital watermark isremoved, absent the use of extremely expensive tools. Presumably, thecommercial value of some works will dictate some level of piracy notdetectable in practice and deemed “reasonable” by rights holders giventhe overall economic return. For example, there will always be fake $100bills, LEVI jeans, and GUCCI bags given the sizes of the overall marketsand potential economic returns for pirates in these markets—as therealso will be unauthorized copies of works of music, operating systems(Windows 98, etc.), video and future multimedia goods. However, whatdifferentiates the “digital marketplace” from the physical marketplaceis the absence of any scheme that establishes responsibility and trustin the authenticity of goods. For physical products, corporations andgovernments that mark the goods and monitor manufacturing capacity andsales to estimate loss from piracy. There are also no reinforcingmechanisms, including legal, electronic, and informational campaigns tobetter educate consumers.

With the advent of digital video and digital video broadcasting, issuesof copyright protection have become more important, since theduplication of digital video does not result in the inherent decrease inquality suffered by analog video. One method of copyright protection isthe addition of a “watermark” to the video signal. The watermark is adigital code embedded in the bitstream of the digital video thattypically identifies the copyright owner. The watermark, if applied toindividual copies of the video, may also be used to identity of thereceiver of each copy. This processing identifies illegally reproducedcopies and facilitates tracing back to the receiver from which theyoriginated. For watermarking of digital video, a number of differentcharacteristics of the watermark are desirable. First, the watermarkshould be embedded in such a way that it is imperceptible or barelyperceptible to a viewer of the video. Secondly, the watermark should besuch that it cannot be removed by intentional or unintentionaloperations on the digital video bitstream or on the decoded videowithout, at the same time, degrading the perceived quality of the videoto the point of significantly reducing its commercial value (acharacteristic referred to as “robustness”). Thirdly, since the videomay be stored for broadcast in a compressed form (such as in a“video-on-demand” server), it is desirable to be able to incorporate thewatermark into the bitstream without having to decode the signal firstand to re-encode it after adding the watermark. This can be accomplishedwith the watermarking of digital still images, but the method used doesnot lend itself to digital video, due to the additional constraintswhich video signals present. Many digital video applications are“constant bit rate” applications, which do not tolerate increases in thebit rate of the transmitted bitstream. Even in those applications whichare not restricted to a constant bit rate, unnecessary increases in thebit rate should be avoided, so as to preserve the real-time decodabilityof the video signal when transmitted over a channel having a givenbandwidth. Thus, it is desirable that the addition of the watermark doesnot increase the bit rate of the video signal. Past watermarkingtechniques for digital video are limited to the watermarking ofuncompressed video data. However, since video sequences are often storedin a compressed format (thereby saving on memory space), watermarkingthe signal in a way which uniquely identifies each receiver of thesignal would require decoding of the signal, addition of the watermark,and recoding before the signal is transmitted. This clearly places asignificant time and processing burden on the task of delivering thevideo sequence.

Hologram

Information exchange and transfer over a shared transmission channelpresent a challenge to the security of sensitive information. Internetand Intranet are two examples of such a shared information transmissionchanneling which many computers are connected with one another by localor wide area communication networks. It is therefore possible for anyuser or an intruder to intercept a package of sensitive data that istransmitted over the shared channel. In particular, the internet is arapidly growing business forum and securing information transferredthrough its channels is becoming a major concern for transmittingproprietary information. Data encryption techniques can be used toincrease the security in data exchange and transfer over a sharedtransmission channel. In its simplest form, data encryption uses a “key”based on a particular algorithm to change the sequence of a package ofdata that contains a piece of confidential information (“plain text”) sothat the data is enciphered or “scrambled” into an form that appears tohave no correlation with the embedded confidential information (“ciphertext”). An unauthorized user, who does not have the knowledge of eitherthe encryption method (e.g., the encryption algorithm) or the key formedbased on the encryption method, cannot easily decode the information. Anauthorized user recovers the embedded information in the scrambled databy using a “key” that is constructed based on the encryption method.Therefore, even if the unauthorized user obtains the scrambled data, theknowledge of both of the encryption method and the particular key isneeded to decrypt the confidential information embedded therein.

One well-known encryption system is the Data Encryption Standard (DES)adapted in 1977 by the National Bureau of Standards. This is asecret-key crypto system to exploit confusion and diffusion techniques,allowing acceptable security using key lengths as short as 64. Thenumber of keys in crypto systems based on the DES can be as many as 512keys with the current computational power. However, increased keylengths “cost” significant delays in transmitting and receiving theencoded information. Two main kinds of crypto systems are a symmetricalsystem, i.e., the private key system, and an asymmetrical system, i.e.,the public-private key system. The DES symmetric crypto systemstypically encrypt 64 bit blocks of plain text using a key length of 56bits. The fundamental building blocking DES (referred to as a round) isa single combination of a substitution followed by a permutation of thetext, based on the key.

The plain text is encoded through 16 rounds of a function, which usuallyimplement substitution, permutation, XOR and shift operations on subsetsof the text and the key in such a way that every bit of the cipher textdepends on every bit of the plain text and every bit of the key. Thismeans that if a single bit of the cipher text is corrupted duringtransmission, the entire message may be lost. This is another weaknessof DES-type block ciphers. In each round, a different subset of theelements from the key, Ki, are used to perform the encryption (hence K1is applied during the first round, and Ki is applied during theithround, etc.). An analogous algorithm is used to decrypt the ciphertext, but the keys are now applied in reverse order, and the shiftoperations change from left to right. Given the complexity of the DESalgorithm, the speed at which DES is encrypted is a function of theprocessor characteristics for both hardware and softwareimplementations. For example, Digital Equipment Corporation makes ahardware DES chip which can encrypt and decrypt at a rate of 1 GBit/sec,or 15.6 million DES blocks per second. Software implementations areslower; for example, an IBM 3090 mainframe can encrypt 32,000 DES blocksper second.

Typical software implementation performances for microcomputers arelisted in the Table 1 herein. TABLE 1 Encryption Rates using somemicroprocessors Bus width DES Blocks Processor Speed (MHz) (bits)(per/sec) 8088 4.7 8 37068000 7.6 16 90080286 6.0 16 1,10068020 16.0 323,50068030 16.0 32 3,90080280 25.0 16 5,00068030 50.0 32 9,60068040 25.032 16,00068040 40.0 32 23,20080486 33.0 32 40,600. Another prior artcryptography system is the RSA Public Key Crypto system available fromthe RSA Data Security in California. RSA is an asymmetric crypto systemin which two different keys are used: a public key to encrypt the plaintext and a private key to decrypt the cipher text. The hardwareimplementations of RSA are usually about 1000 to 10,000 times slowerthan a hardware implementation of DES. In software implementations, RSAis generally about 100 times slower than DES. These numbers will improveas technology advances, but the processing speed of RSA will bedifficult to approach the speed of a symmetric crypto system.Consequently, RSA is generally not viewed as a replacement for DES orany other fast bulk encryption algorithm. Instead, RSA is often used forsecure key exchange without prior exchange of secrets. Hence a longmessage is encrypted with DES.

The message is sent with its DES key encrypted via RSA public keyencryption. Many other prior-art encryption systems are variations ofthe DES-type encryption. Generally, it is suspected that given theadvanced state of computational processors, DES may no longer be safeagainst a brute-force attack, so alternatives have actively been soughtsince the late 1980's. In response to this need, several alternativeshave been developed and are thought to be competitive with DES in termsof the level of security provided. Examples of these systems include thefollowing encryption methods.

(1) Triple DES. This is a variation of DES where the plain text isencrypted with the DES algorithm by three different keys in succession.This is commonly accepted to be equivalent to increasing the size of theDES key to 112 bits. Triple encryption of the plain text is the currentmethod of dealing with misgivings about DES's security, but this isclearly done at the expense of the throughput rate for encrypting anddecrypting messages.

(2) REDOC, a block algorithm which has a 20 byte (160-bit key) and thatoperates on an 80 bit block. All of the manipulations, (i.e.substitutions, permutations, and key XOR's) are performed on bytes,which makes it more efficient in software than DES whose initial andfinal permutations are difficult to efficiently implement in software.In addition, the 160 bit key usually makes this algorithm very secure.

(3) Khufu is a recently proposed 64 bit block cipher, which calls for a512-bit key, and leaves the number of rounds open (either 16, 24, or32). Because of the large key, and the potentially expanded number ofrounds, the security of this algorithm is expected to be very high.However, increasing the number of rounds has the disadvantage of slowingthe rate at which data can be encrypted.

(4) IDEA is a 64-bit block cipher that utilizes a 128 bit key. Itusually utilizes three basic operations, XOR, addition modulo 2 sup 16,and multiplication modulo 2 sup 16. The algorithm typically operates on16-bitsub-blocks, which makes it efficient, even on 16 bit processors.Its current software implementations are about as fast as DES. In viewof the limitations and disadvantages of the various prior-art encryptionsystems, the inventors of the present invention developed a new cryptosystem based on optical phase modulation and a correspondingimplementation interface between a user computer and the network. Anembodiment in accordance with the present invention can exchange any ofthese methods for enciphering information embedded in a digital bitstream prior to digitization and transmission over a shared network suchas the internet.

A holographic de-scrambler can be used at the receiving end inaccordance with a preferred embodiment by an authorized user to decipherthe information. One of many advantages of the present invention is thepotential to achieve high rate of encryption/decryption (e.g., largerthan 1 Gbit/s) as optical fiber networks of high data rates (e.g.,larger than 2.4 Gbit/s) become more common. In one of several preferredembodiments of the present invention, a package of digital data is firstimprinted on a carrier light beam. This is done by using atwo-dimensional spatial light modulator. The phase of the data-bearingoptical waveform is subsequently distorted by a phase-scrambling medium.Next, the data-bearing optical waveform with distorted phase is used toform an optical hologram with a reference beam. The hologram is thenconverted into electronic signals which are sent to its destination indigital form over a shared transmission channel. At the destinationwhere the scrambled data is received, the hologram is displayed in aspatial light modulator and a conjugate reconstruction thereof isperformed to generate a conjugate of the data-bearing signal waveformwith distorted phase. A holographic medium having information indicativeof the phase-scrambling medium is used to unscramble the phase and theembedded data is retrieved from the conjugate reconstruction opticalwaveform by using a light detector array such as a CCD array. One aspectof the present invention is to achieve optical encryption keys up to andgreater than 10 sup 6 keys to enhance the security.

This is a difficult implementation for many prior art systems. Such alarge number of encryption keys is possible because of the uniqueoptical analog technique in accordance with the present invention. It isanother aspect of the present invention to insure fast enciphering anddeciphering of a large encryption key that are rarely obtainable withthe prior-art systems. The preferred embodiments implement this by usingthe high-speed optical reconstruction of a data-bearing hologram and thecapability of parallel processing of optical data processing devices. Itis yet another aspect of the present invention to increase theconfidentiality of the encryption schemes by using unconventionalanalog-based enciphering and deciphering of digital data. This aspect isparticularly advantageous in view of the current lack of a theoreticalfoundation for decrypting analog-based encryption. A brute forceattacked encryption based on algorithm techniques is nearly impossiblefor invading the cryptography systems in accordance with the presentinvention. It is yet another aspect of the present invention to useoptical phase information in a nonobvious way to encipher and decipherdigital data. It is yet another aspect of the present invention thatoptical holographic techniques are used in both enciphering anddeciphering processes to further enhance the confidentiality of theencryption systems in accordance with the present invention. It is yetanother aspect of the present invention that the phase conjugatereconstruction of data-bearing holograms are implemented in preferredembodiments to ensure the high fidelity of the analog decipheringprocess. It is yet another aspect of the present invention to integrateoptical processing technology, hardware encryption, opto-electronicinterfacing, and high-fidelity and fast-speed digital signaltransmission to form a highly secure, fast and versatile encryptionsystem that works independent of the transmission media utilized. It isstill another aspect of the present invention to complete the encryptionor decryption process in a single step, instead of the 16 rounds ofcomplex computations typically found in most symmetric encryptionschemes. In the optical encryption systems in accordance with thepresent invention, the encrypting speed is usually not limited by thesize of the encryption key, but rather by the system speed in convertingbetween the electronic-to-optical and the optical-to-electronicinformation modes.

Other Serialization

In the past, merchants have unsuccessfully employed various methods inan attempt to track and identify their inventory. Engraving, stamping,painting, and marking are several methods that merchants have employed.Due to practical problems, those methods are not effectively applicableto the CD multimedia rental industry.

As is known in the art and industry of compact disc multimedia,graphical information identifying the program title and author of arecording is ordinarily placed on the top surface of a CD. Digital datais stored on or just below that top surface. In particular, digital datais stored immediately below such graphical information between the topsurface and the bottom surface of the CD. The bottom surface of the CDis comprised of a section of clear material through which, in accessingthe data, a laser beam from a compact disc player radiates upward.

The digital data is delicate and can easily be damaged during processestypically used to identify merchandise, which include engraving,stamping, or marking. As stated above, the digital data is closer to thetop surface of the CD than it is to the bottom surface. Although the topsurface of a CD usually contains graphical information applied by silkscreening that partially protects the digital data from damage, the silkscreened layer is thinner and more fragile than the bottom surface of aCD which comprises clear material. Thus, there is a greater need toprotect the top surface of the CD and the digital data close to it fromphysical damage such as scratching.

Engraving may be used to identify merchandise. Engraving CDs withidentification markings is problematic since engraving is oftenattempted on the top surface of the CD and such engraving couldinterfere with the digital data next to it. Moreover, even if engravingis attempted on the bottom surface of a CD where it is less likely thatdigital data will be damaged, the data may still be damaged duringengraving due to the pressure required to be placed on the top of the CDto hold it in place and the heat that may result from such engraving. Inaddition, engraving may be undesirable since it is a relatively laborintensive and costly process, especially in high volume situations.

Thus, merchants have considered other less invasive methods ofidentification such as, for example, painting. Painting also fails toprovide an effective means of identification or security due to thelabor required, the cost required, and the inherent unreliability of theprocess given the ease with which a person can duplicate such painting.Moreover, painting may pose other problems since harm to the digitaldata must be avoided.

Still another option of identifying and securing inventory is the use ofordinary adhesive stickers. Such stickers do not provide an effectivemeans of identification due to the ease with which such stickers can beremoved and reaffixed to similar looking items without a means ofclearly indicating any tampering with the sticker. In addition, suchstickers may be difficult to manually apply to CDs (since any stickershould be precisely centered on the CD) in the absence of an applicatorworkstation such as the one disclosed herein. In addition, such stickersmay be easy to duplicate.

Magnetic-type EAS systems are widely used to inhibit the theft ofmerchandise such as clothing, books, cassettes and compact disks.Electronic article surveillance (EAS) systems are often used to preventunauthorized removal of articles from a protected area, such as alibrary or retail store. An EAS system usually includes an interrogationzone or corridor located near the exit of the protected area and markersor tags attached to the articles to be protected. EAS systems have beenbased on magnetic, RF, microwave and magneto-restrictive technologies.Regardless of the particular technology involved, the EAS systems aredesigned such that the tag will produce some characteristic responsewhen exposed to an interrogating signal in the corridor. Detection ofthis characteristic response indicates the presence of a sensitized tagin the corridor. The EAS system then initiates some appropriate securityaction, such as sounding an audible alarm, locking an exit gate, etc. Toallow authorized removal of articles from the protected area, tags thatare either permanently or reversibly deactivatable (i.e., dual statustags) are often used.

Although EAS markers have been in common use for the theft protection ofoptically recorded media such as compact disks and CD-ROM's, the markershave generally been adapted for attachment to the packages containingnew compact disks and have been poorly suited for direct attachment tothe compact disk itself for libraries and other institutions thatrepeatedly check compact disks in and out to accommodate the needs ofcustomers and clients, effective inventory control would prefer that EASmarkers are attached to the compact disk.

Some markers for direct attachment to compact disks have been developed.One, available as “DCD-1” from Minnesota Mining and ManufacturingCompany, St. Paul, Minn., is a single marker strip and security overlaywhich are attached to a compact disk. However, this marker adverselyeffects the mechanical balance of the disk, which can adversely affectthe operation of modern high rotation speed CD-ROM drives, CD players,and other optically recorded media playback equipment which require thatthe media be mechanically balanced for proper operation. Anotherproduct, “CD-Guard”, available from Knogo North America, Inc.,Hauppauge, Long Island, N.Y., suffers the same mechanical balancedrawback. An optical information storage disk comprising an embedded,generally annular, dual-status EAS marker is described in coassignedU.S. Pat. No. 5,347,508.

Other Media

It should be noted that the principles of the present invention may beapplied to other types of media beyond the electronic storage mediumdiscussed hereinabove. As a disk-like recording medium (referred tohereinafter as an optical disk) on and from which an information signalis recorded and reproduced by laser beam, there are now commerciallyavailable a so-called compact disc with audio data recorded therein, aCD-ROM in which computer data is recorded, a write once optical disk onwhich an information signal can be recorded once and a recordableoptical disk in which an information signal can be reproduced, recordedand erased.

The read-only optical disk such as a compact disc or CD-ROM has trackson which irregular patterns, i.e., phase pits are concentrically orspirally formed on the basis of a recorded information signal formed onone surface thereof. Specifically, the read-only optical disk iscomposed of a disk base plate made of a transparent synthetic resin suchas polycarbonate or PMMA (polymethyl methacrylate), a reflection filmmade of a metal such as Al or Au formed so as to cover phase pits formedon one surface of the disk base plate and a protection layer formed soas to cover the reflection film in order to protect the reflection film.

When an information signal is reproduced from the read-only opticaldisk, laser beam from a laser light source is converged by an objectivelens and irradiated on the read-only optical disk from the disk baseplate side. Reflected light flux modulated by the phase pits on theoptical disk is detected by a photodetector, for example, and convertedinto a detected signal having a signal level corresponding to anintensity of reflected light flux, thereby allowing a reproduced signalof the information signal recorded on the read-only optical disk to beobtained.

While the read-only optical disk can provide mass-produced products(optical disks) inexpensively on the market, it is not suitable forproducts of small demand. For this end, write once optical disks areprepared for optical disk products of small demand and a variety of datacan be provided to the user easily. As write once optical disks, thereare available a write once optical disk of recording system usingphysical chemical change of pigment, a write once optical disk of asingle layer hole forming recording system, a write once optical disk ofmulti-layer hole forming recording system, a write once optical disk ofphase-change recording system and a write once optical disk ofbubble-foaming system. Upon reproduction, in a manner similar to theread-only optical disk, a laser beam (having a weak reproduction laserpower) from a laser light source is irradiated on the disk from the diskbase plate side under the condition that the laser beam is converged byan objective lens. Then, reflected light flux that is modulated bypreviously-recorded pits is detected by a photodetector and the detectedsignal is converted into a detected signal having a signal levelcorresponding to an intensity of a reflected light bundle, therebyobtaining a reproduced signal of an information signal recorded on thewrite once optical disk.

When an information signal is recorded on the above write once opticaldisk, a laser beam (having a strong recording laser power) from a laserlight source is irradiated on the optical disk from the disk base plateside under the condition that the laser beam is converged by anobjective lens. Then, the power of the laser beam is turned on and offby modulating the laser beam in response to an information signal andpits (pits substantially similar to those recorded on the read-onlyoptical disk) corresponding to the information signal are formed alongrecording tracks of the optical disk. Specifically, in the case of thesingle layer hole forming recording system, a hole is formed on therecording track at an area irradiated with a strong laser beam and thishole is recorded as a pit. In the case of a multi-layer hole formingrecording system, a hole is formed on the recording track at an areairradiated with a strong laser beam, e.g., the film of the first layerand the hole on the first layer are recorded as a pit.

In the case of the phase change recording system, a portion of therecording track irradiated with a strong laser beam is changed from theamorphous state to the crystal state and the portion that was changed tothe crystal state is recorded as a pit. In the case of the bubblefoaming recording system, of the recording tracks, a recording layer ofthe portion irradiated with a strong laser beam is upheaved and theupheaved portion is recorded as a pit.

In the write once optical disk, in particular, a guide groove is formed(pre-groove portion) to allow tracking control of laser beam. An endface opposing the pre-groove is formed as a sine wave shape (generallyreferred to as a wobble shape) having a predetermined amplitude and apredetermined period along the track. When this wobble shape isoptically detected by laser beam, it is possible to obtain a wobblesignal serving as absolute time information. The wobble signal is usedto control the system of the recording and reproducing apparatus and, inparticular, the timing information for recording pits on the opticaldisk. Further, the wobble signal is used to servo-control an opticaldisk rotating and driving means, e.g., a spindle motor. According to theservo control operation, the rotational speed of the spindle motor iscontrolled such that the period of the wobble signal becomes constant.

The above write once optical disk is generally of a groove recording 10system where pits are recorded on the pre-groove portion. Wheninformation data that is to be recorded on the write once optical diskis recorded, a target position is synchronously searched based on theperiod of the wobble signal obtained by optically detecting the wobbleshape formed on the pre-groove portion. When the target position isdetected, the above information data that is to be recorded on the writeonce optical disk is recorded on the target position according to apredetermined format.

On the other hand, upon reproduction, a target position is searched asdescribed above. When the target position is detected, based on a framesynchronizing signal inserted into the data to be recorded on the writeonce optical disk, 2 kilobytes of data, for example, are sequentiallyread out, thereby reproducing recorded data.

Since the read-only optical disk and the write once optical disk are thesame in reproduction principle as described above, even when the writeonce optical disk is loaded onto a reproducing apparatus whichreproduces an information signal from the read-only optical disk, datarecorded on the write once optical disk can be reproduced withoutdistinction of the read-only optical disk.

In addition, the write once optical disk has a feature that allows anumber of optical disks to be easily produced by relatively simpleequipment. For this reason, there is the risk that the write onceoptical disk will be illegally copied (illegal copy). Specifically,initially, there is a computer system wherein a reproducing apparatusfor reproducing an information signal from a read-only optical disk isconnected to one external input and output terminal of a personalcomputer used by the end user. For example, and an external storagedevice for recording and reproducing an information signal on and fromthe write once optical disk is connected to another external input andoutput terminal. Then, recorded data that had been read out from theread-only optical disk by the reproducing apparatus are all written inthe write once optical disk by the external storage device, therebyproducing a pirate edition of the read-only optical disk.

In this case, if the read-only optical-disk is a CD-ROM where computerdata (including computer program) are recorded, then a pirate edition ofgame software can be easily produced. If the read-only optical disk is acompact disc (CD) where music information are recorded, then it becomespossible to easily produce a pirate edition of the compact disc.

Since computer programs are copyrighted material protected by copyright,copies—except those made by the regular user, i.e., registered users whoaccepted the software license agreement (software license agreement)—forbackup or copies for the hard disk are illegal.

Further, copy for thoroughly copying recorded data on the CD-ROM whichis a copyright material to the write once optical disk for the purposeof action of concession in distribution is also illegal and such illegalaction for obtaining unfair profit should be prevented.

Furthermore, an act wherein a regular user makes a free distribution forthose who are not regular users in an enterprise or CAI (ComputerAssisted Instruction) is regarded as serious.

At present, there are a variety of proposed methods for copy protectionmany of which have been reduced to practice. On the other hand, asoftware (program or the like) called “copy tool” used in removing copyprotection is now commercially available. Short of the user's ownconscience, there is currently no other way to prevent the illegalcopying of recorded data.

In view of the aforesaid, it is an object of the present invention toprovide a data recording method wherein an illegal copy betweendisk-like recording mediums can be effectively protected even against acopy tool and in which copyrighted material (recorded data) recorded onthe disk-like recording medium can be protected.

Interactive productions allow a user of a computer system to interactwith movies, video or other displayed images while the images are beingupdated at a rapid rate. The purpose of these productions is to presentuseful information, educate or entertain the user. The ultimate goal ofinteractive technology is to make the user feel as though they areinteracting with images on the screen so that, for example, charactersor objects in a drama react to the users actions. The user's actions canaffect characters, objects or other images on the display screen andchange the course of the storyline.

One method for providing a high degree of interaction is to make theproduction completely computer generated. This means that the computermodels a three dimensional world and calculates and displays theorientation of figures and objects on the screen. However, this approachis limited by today's technology because the computing power to fullycalculate and render lifelike images, especially human figures, atresolutions approaching television quality in real time at video or filmrefresh rates is beyond the current technology for mass-marketedsystems.

A different approach is to prerecord video, film or computer generatedimage sequences and play the prerecorded images, or frames, back at highspeed. This achieves the resolution of television, or better, and issufficiently lifelike to create a level of believability comparable totelevision. However, in this approach the user has a very limited amountof interactivity with the production since the user's ability to affectthe story is limited to the small number of different “paths” ofprerecorded image sequences that are branched to at predetermineddecision points in the video or animation sequence. The use of anyprerecorded sequences of images that are played back so as to achieveanimation while allowing a user to interact with the images is referredto broadly here as “interactive video.”

Interactive video productions typically use a compact disc read-onlymemory (CD-ROM) disc to store the images and a CD-ROM drive to retrieveimages during playback. The CD-ROM disc stores information in aconcentric spiral on optical media and is “read” or played back with aCD-ROM drive that uses a “read head” with a laser beam. The big problemwith CD-ROM based interactive production is the break in continuity dueto delays of about a half-second or more required to locate a desiredbranch path that is different from the current path that the drive'sread head is tracking. Another problem is that CD-ROM based interactivevideo productions are severely limited in the number and types of waysthat a user may interact with the video.

The length of time to access a different video path (“access time” or“seek time”) depends upon the location of the different video path withrespect to the current placement of the CD-ROM drive's read head. Inorder to access a given video sequence, a computer controller looks upthe location of the sequence in an index and instructs the CD-ROM driveto access the new sequence by moving the read head to the beginning ofthe new sequence on the disc. Since the read head is moved by amechanical mechanism it takes a comparatively long time to repositionthe read head to a new point on the track to access the different videopath.

The prior art uses caches to try to improve the performance of accessingdata in a CD-ROM. The cache can be in the CD-ROM drive, in an interfacecard between the processor and the drive, in the memory of the computersystem controlled by software or even on a hard disk or other storagemedium. However, these caches only provide marginal improvement inaccess times where video is concerned because of the relatively smallsizes of the caches compared to the data rate of the information comingoff of the CD-ROM. Also, when a different path is branched to theinformation in the caches is usually useless since they don't containthe new data. The caches must be “purged” and loaded with newinformation.

While current CD-ROM drives are not adequate to provide sufficientinteractivity in interactive video productions, they represent a hugeinstalled base since hundreds of thousands have already been sold toconsumers. Therefore, a system which eliminates the access time inCD-ROM based interactive videos without requiring modification ofexisting CD-ROM drives is desired.

Conventionally, a so-called LD (Laser Disk) and a so-called CD (CompactDisk) are generalized as optical disks, on which information such asvideo information, audio information and the like is recorded. On the LDor the like, the video information and the audio information arerecorded together with time information indicating a time at which eachinformation is to be reproduced with respect to a reproduction startposition, which each LD or the like has, as a standard position. Thus,other than a general normal reproduction to reproduce the recordedinformation in the order of recording, various special reproductions arepossible, such as a reproduction to extract and listen to an onlydesirable music out of a plurality of recorded musics, a reproduction tolisten to the recorded musics in a random order and so on, in case ofthe CD, for example.

However, there is a problem that, according to the above mentioned LD orthe like, a so-called interactive and variegated reproduction is notpossible in which the audience can have a plurality of selectionbranches as for the video or audio information to be displayed orsound-outputted and in which the audience can select them to watch orlisten to it.

Namely, for example, in case of giving audience to a foreign movie onthe LD, it is not possible to select one of languages to be used for asubtitle (caption) displayed on the picture plane (e.g., select one ofthe subtitle in Japanese and the subtitle in the original language) soas to display the subtitle in the selected language, or, in case ofgiving audience to a music recorded on the CD, it is not possible toselect one of sound voices of the music (e.g., select one of the Englishlyric and the Japanese lyric).

On the other hand, various proposals and developments are being made asfor the DVD, as an optical disk in which the memory capacity is improvedby about ten times without changing the size of the optical disk itselfas compared with the aforementioned conventional CD. With respect tothis DVD, if a plurality of subtitles in various languages or aplurality of voice sounds in various languages are recorded, the abovementioned interactive and variegated reproduction is possible as theaudience selects one of them.

However, the information amount of the audio information or musicinformation becomes enormous if the audio or voice sounds in variouslanguages or the music in various types are recorded on the abovementioned DVD. At this time, if the information is not recorded in anappropriate recording form, the process for searching the audioinformation etc. to be reproduced becomes complicated, and a case wherethe audio sound or music sound etc. is interrupted in the middle of thereproduction due to the time required to search the audio informationetc. may happen at the time of reproduction, which is a problem.

While various embodiments have been described above, it should beunderstood that they have been presented by way of example only, and notlimitation. Thus, the breadth and scope of a preferred embodiment shouldnot be limited by any of the above-described exemplary embodiments, butshould be defined only in accordance with the following claims and theirequivalents.

What is claimed is:
 1. A method for authorizing the playback of contentelectronically, comprising the steps of: detecting informationincorporated on an electronic storage medium when the electronic storagemedium is accessed by a drive, the information being stored in a burstcut area (BCA) of the storage medium; determining whether theinformation stored in the BCA is sufficient for a local application toactivate: transmitting the tracking information to a server computer;performing a table look up at the server computer; and authorizingplayback of content from the electronic storage medium based onprocessing of the tracking information at the server computer.
 2. Amethod for authorizing the playback of content electronically as recitedin claim 1, wherein the table lookup at the server computer determinesone or more authorized genres.
 3. A method for authorizing the playbackof content electronically as recited in claim 1, wherein the tablelookup at the server computer determines one or more authorized titles.4. A method for authorizing the playback of content electronically asrecited in claim 1, wherein the server computer initiates authorizedplayback of authorized information utilizing a transaction from theserver computer.
 5. A method for authorizing the playback of contentelectronically as recited in claim 1, wherein a transaction is writtento a database memorializing processing.
 6. A method for authorizing theplayback of content electronically, comprising the steps of: accessingan electronic storage medium with a drive; detecting a digital code, thedigital code being information stored in a burst cut area (BCA) of theoptical storage medium; determining whether the information stored inthe BCA is sufficient for a local application to activate; transmittingthe tracking information to a server computer; performing a table lookup at the server computer; and authorizing playback of content from theelectronic storage medium based on processing of the trackinginformation at the server computer.
 7. A method for authorizing theplayback of content electronically as recited in claim 1, wherein thetable lookup at the server computer determines one or more authorizedgenres.
 8. A method for authorizing the playback of contentelectronically as recited in claim 1, wherein the table lookup at theserver computer determines one or more authorized titles.
 9. A methodfor authorizing the playback of content electronically as recited inclaim 1, wherein the server computer initiates authorized playback ofauthorized information utilizing a transaction from the server computer.10. A method for authorizing the playback of content electronically asrecited in claim 1, wherein a transaction is written to a databasememorializing processing.